在算法交易的背景下,參數到底是什麼意思?
我一直在閱讀類似“設置正確的參數是使算法有利可圖並且是更難掌握的技能之一”的句子。但是算法交易中的參數究竟是什麼意思?請你提供一個基本的例子嗎?為什麼設置好的參數被認為是“一門藝術”?
我認為算法交易以及許多其他人工智慧/機器學習努力基本上是關於將一些統計技術或模型應用於問題並嘗試優化。在這樣做時,即當你制定或設計你的模型時,你通常有很多選擇。
出發點往往是決定一些模型特徵,一個很常見的劃分是選擇參數模型或非參數模型。
假設您想建立一個模型,根據他的體重(質量)預測一個人的身高,並且您擁有 100 人的真實體重和身高數據,並且只有您想要預測其身高的其他 10 個人的體重。
您在這裡有很多選擇,但參數模型將假設身高和體重遵循雙變數正態分佈,參數為均值和共變異數矩陣。您可以使用 100 人的數據得出這些最可能的參數。然後給定權重,您可以使用校準的機率分佈估計/預測人的身高。
另一方面,您可以使用非參數模型,它不需要任何參數來進行機率分佈。您可能會選擇使用帶有一條規則的算法,即找到最近的鄰居。在此模型中,對於每個體重,您都在已知數據集中查找最接近的體重值,並將相應的高度指定為預測高度。
現在,這裡輸入另一個術語超參數。在上述非參數模型的情況下,您選擇使用最近鄰算法,但誰說取兩個最近鄰或三個最近鄰的平均值不是更好?這個超參數(與之前受數據影響的參數略有不同)是您算法的一種設置。
這個玩具範例非常小,實際上您可能有許多可用於調整的參數,您根本無法確定哪些是最好的,因此藝術實際上是了解過去運作良好的體驗並擁有良好的體驗預感為什麼會這樣。
有限的上下文使得這個問題難以解決,但在機器學習及其在量化金融中的應用的背景下,@Attack68 提供的答案非常有用:https ://quant.stackexchange.com/a/42705/33410
請記住:交易算法與電腦科學中這個詞的含義沒有什麼不同。它是一組旨在做某事的指令。交易算法根據它可以訪問的數據和配方的內容做出決策。參數只是你添加的東西
- 防止某事發生。
- 確保某事發生。
- 限制某事發生的程度。
ETC…
然而(再一次;添加更多上下文細節將是有益的)它可能比這更簡單,而且最初想到的大多數事情都是在牽扯風險管理概念/實踐。
參數被實施為風險管理方法(例如,為單獨交易的資產定義投資組合分配百分比)。作為一個基本範例,假設您要定義一個參數,用於定義您的交易算法在任何給定時間允許擁有的證券數量(以目前擁有的所有證券的總流動價值加上可用現金的百分比來衡量) ) 以確保您的 alpha 模型中的一個信號無法接管您的整個投資組合,並且在有問題的信號不好的情況下,您的投資組合仍然存在!這實現起來相當簡單。
也許您想為您希望交易算法操作的對象和位置設置參數。有很多例子浮現在腦海。
為什麼設置好的參數被認為是“一門藝術”?
好吧,它不是。上述任務非常具有經驗性;事實上,第一個也是主要的只是簡單的算術!
至於“量化金融是一門藝術還是一門科學”的交易,我建議閱讀Laurent Bernut 對選股是藝術還是科學?在知乎上。
我在藝術和科學之間搖擺不定,最終意識到兩者都不是。遊戲而已
你處理事情的方式決定了你的思維。如果您認為它是一門藝術,您會驚嘆於傑作,卻無法欣賞其背後的辛勤工作。如果你認為它是一門科學,你會想出一個確定的公式,但會被隨機性愚弄。如果您將其視為遊戲,那麼只要您可以留在遊戲中,您就會玩。