根據市場指數跟踪交易表現的行業慣例?
我來自程式背景,不是職業量化專家,所以這對你們來說可能是一個新手問題。我編寫了一些程式碼來提取市場指數(道瓊斯指數/納斯達克等)的每日收盤價以及來自股票經紀人 API 的收盤賬戶餘額。
所以我有一個日期列,DJI/納斯達克的收盤價和給定交易者賬戶當天的“ClosingBalance”。如果我要忽略“存款”和“取款”列,那麼我可以利用這個時間序列並在圖表上繪製交易者的賬戶價值在給定日期範圍內如何隨市場變化。然後我可以進一步計算他是否表現出色,等等。
偉大的。
但事實證明,隨著時間的推移,這個傢伙可能會通過現金存款注入更多股權,或者隨著時間的推移提款。如果它使場景更簡單,我們甚至可以忘記取款,所以在只有存款的情況下(例如中間的 499 條目),在嘗試計算交易者的賬戶餘額與市場看他是否跑贏大市?
是否足夠簡單,當進行存款時,您將前幾天的相同存款相加?提款時會發生什麼?
任何關於程序員和量化人員在這種情況下通常採取的方向的提示都會有所幫助。編碼邏輯不是我的問題,我想了解處理這種情況的做法是什麼……
另外,這裡的 Y 軸是如何正規化的?賬戶餘額可能在 10k-100k 範圍內,而道瓊斯指數可能在 15k-20k 範圍內,而納斯達克可能在 1k-5k 範圍內。也許某種模組化操作?或者除以或減少一個因素?也許選擇一個系列的第一個值作為刻度的起點,然後減去另一個系列的差值,以便所有系列都以相同的值開始?我想在圖表上繪圖時,Y 軸真的需要是百分比而不是絕對的?…
OP EDIT BEGIN - 這是我編寫程式碼後的第一個草稿
綠色是我的基金業績,藍色是道指,黑色是納斯達克。
編輯結束
謝謝!
也許以下準則會有所幫助:
- 大圖:出於績效衡量的目的,您應該比較回報而不是絕對值。您需要將所有時間序列轉換為百分比回報,這本身就負責標準化。此外,作為下一步,您不僅要衡量回報表現方面的表現,還要衡量風險調整後的表現。
我將按如下方式進行:
編輯:
我做出以下假設:期末餘額反映了當天的存款/取款(d/w),d /w 是在交易後進行的。另一個假設是投資業績是基於總賬戶餘額,這意味著新的存款也將在第二天進行投資。如果這些假設不正確,則必須提供更多資訊才能更具體。 結束編輯
首先,調整取款和存款的賬戶餘額時間序列:從當天的期末餘額中減去存款,然後在當天的期末餘額中加上取款。您不想計算交易後存款或取款的回報。接下來,計算每日百分比回報。隨後,調整回正確的期末餘額,反映存款和取款。
然後你可以朝幾個不同的方向前進:
- 對於每個日期,將每個單獨時間序列的所有先前回報相加,從而為您提供一種非常簡化的聚合性能係列,然後您可以直接與指數性能進行比較(幾何平均值會更準確,但這只是一個簡化的範例)
- 簡單地平均每個時間序列的回報並比較結果
- 計算每個時間序列的夏普比率並比較平均風險調整後的回報(在這個論壇上搜尋應該顯示如何計算 SR)
- 計算每個數據點的每日收益和風險,通過除以在定義的視窗內採樣的標準偏差進行調整。這也將為您提供性能曲線,但在風險調整的基礎上。
正如你所看到的,有許多不同的方法(可能還有十幾種),所以這真的取決於你到底要測量什麼。