波動性
波動性差異
為了發現高波動的交易價格,我用一個簡單的例子來衡量兩個貨幣對的標準差:
prices_currency_1 = [1, 100] prices_currency_2 = [.1, 10]
的標準差
[1, 100]
為49.5,Python程式碼:np.array([1, 100]).std()
轉換 price_currency_1
$$ 1, 100 $$除以 10 返回:1/10 = .1 和 100/10 = 10。然後測量轉換值的波動性:
np.array([.1, 10]).std()
返回 4.95如果我要選擇波動性最高的貨幣,那麼 prices_currency_1 似乎是正確的,因為 49.5 > 4.95,但價格變化的幅度是相等的。price_currency_1 增加了 100% , prices_currency_2 也增加了 100% 。那麼這種尋找波動率最高的價格的方法不正確嗎?某些貨幣價格可能具有較高的單價變化率,但由於價格值的大小,波動性似乎較低。
例如
np.array([.1, 20]).std()
返回 9.95 遠低於 49.5 但價格變化[.1, 20]
遠高於[1, 100]
. 是否有波動性度量來捕捉變化?
你正在做的事情有兩個大問題。
首先,您試圖估計價格的標準差,而不是價格變化。價格不是固定的:等待足夠長的時間,它們很可能會跌至 0 或一個非常大的數字;而且,它們往往不會停留在某個值附近。您不能僅使用非平穩數據可靠地估計參數。
您可以改為查看價格變化。這樣更好,但它遇到了第二個問題:高價資產的價格變化往往大於低價資產的價格變化。
處理此問題的最佳方法是使用 log-returns:差異在
log(prices)
. 如果您使用標準回報,這也消除了您獲得的一些機械偏斜。比如說,每日對數回報的標準差可以讓您獲得每日波動率。通過乘以一年中的交易日數,將其擴大到年度波動率(通常引用的sqrt(T)
)T
。