統計
如何在移動平均線的嚴格測量與動態測量之間進行選擇
我正在用 Pandas 建構一個簡單的股票模型,其中一部分是計算移動平均線。
我想了解在計算長期移動平均線時使用嚴格時間視窗大小與動態時間視窗大小的準確性影響是什麼以及如何衡量。
這是我的意思的一個例子:
我有一個 csv 文件,其中包含 1.1.2000 至 28.2.2017 之間的 TLSA 股票歷史記錄
df = pd.read_csv('TSLA.csv', index_col=0, parse_dates=True) # add new col to dataframe consisting of a 100 day moving avarage df['100ma'] = df['Adj Close'].rolling(window=100, min_periods=0).mean()
min_periods=0 允許我使用前 0、1、2、3… 移動平均線計算前 100 天沒有 100 天的移動平均線。
我對此的替代方法是呼叫
df.dropna()
它會刪除沒有 100 天移動平均線的前 100 行。不利的一面是我會得到準確的平均值,但數據點更少。我正在使用大量移動平均線建構一個工具。確定使用哪個數據框的正確方法是什麼?與代表股票指數的移動平均線的相關性?另外,在量化世界中通常應用哪種技術?
直覺上我認為動態版本更具代表性,但對於分鐘和更短的時間框架數據也是如此嗎?
我在程式碼中所做的是計算“可用天數或 100 天(以較小者為準)”的 MA。但這只是一個實用的技巧,以確保我的程序產生一些價值而不是死於無法解釋的原因,並在 T>= 100 時匹配“正確”值。我不會聲稱這是最終的解決方案。該常式可能應該返回一個警告程式碼,表明尚未計算完整的 MA,因此呼叫者可以根據需要忽略這些假值。當然,在 TSLA IPO 日期之前,我會返回一個硬錯誤程式碼,上面寫著“不能這樣做”。這是程式風格,而不是 Quant Finance。