LLT指標-低延遲趨勢線對中證500的python復現過程

大家好,我是上海大俠

看了半個小時的研報和視頻,對具體實現過程含糊其辭,表述不清,模糊重點,甚至還有多處寫錯

本著知識開源的想法,我將我的探索過程公開,以期給同樣在這條路上摸索的朋友節省一點走彎路的力氣

廢話先不多講,我是個喜歡在本地數據上運行代碼的男人,因為這樣可以避免數據量超限的問題

先看一下數據格式

標的資產收盤價

我們這次對000905.SH也就是中證500做LLT指標的低延遲趨勢線

很眼熟的公式對吧?

我們把這個公式轉換成人話

LLT(T) = (\alpha -\alpha ^2/4)*price(T)+(\alpha ^2/2)*price(T-1)
-(\alpha-3\alpha^2/4)*price(T-2)+2(1-\alpha)*LLT(T-1)-(1-\alpha)^2*LLT(T-2)

這里要特別說明幾個重點

z^(-t)可以看作是t階延遲算子

LLT(T)指的是時間戳為T的LLT指標

而price(T)指的是時間戳為T的過去回看d天的平均價格

LLT指標的初始兩期就設為[0,0]即可

我們來看一下效果

d=20 2012-02~2014-03

看起來還挺平滑的

d設的越小,延遲越高,曲線越平滑

d=40 2012-02~2014-03

最后附小屎山【山(×)堆(√)】

'''

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
if __name__ == '__main__':
    PriceDf = pd.read_excel('日收盤價.xlsx', index_col = 'date')
    PriceDf = PriceDf.sort_index(ascending = True)
    Asset = PriceDf.columns[1]
    AssetSeries = PriceDf[Asset]
    LLT = [0,0]
    d = 40
    alpha = 2/d+1
    for i in range(len(AssetSeries)-2-d):
        pricet_2 = np.mean(AssetSeries[i:i+d])
        pricet_1 = np.mean(AssetSeries[i+1:i+1+d])
        pricet = np.mean(AssetSeries[i+2:i+2+d])
        LLTt_2 = LLT[i]
        LLTt_1 = LLT[i+1]
        LLTt = (alpha-(alpha**2)/4)*pricet + (alpha**2)/2*pricet_1 - (alpha-3/4*(alpha**2))*pricet_2+ 2*(1-alpha)*LLTt_1 - ((1-alpha)**2)**LLTt_2
        LLT.append(LLTt)
        #print(i)
        LLTSeries = pd.Series(LLT,index = AssetSeries.index[d:])
    plt.plot(LLTSeries[1800:2200])
    plt.plot(AssetSeries[1800+d:2200+d])

'''

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1、創建列表 注意:這里不需要為列表及其包含的數據項聲明類型。Python的變量標識符沒有類型。 2、列表是完備的...
    單調不減閱讀 242評論 0 0
  • 聽說那扇高大的木門后 藏著許多關于命運的故事 我扶著你的手邊講邊走在青石長巷 分別從天而降 勒緊你脖子的黑蕾絲 雙...
    李秋藍閱讀 240評論 0 12
  • 心緒萬千 提筆難言 把思念化成線 纏繞你心間 夢里你的笑虛掩 風撥弄著你的臉 我不敢去看 悄悄躲在夢里面
    回憶成繭閱讀 312評論 0 1
  • 年是什么?一代人有一代人的認識。對孩子而言,過年是感官的刺激,它總是紅紅火火,爆竹聲聲;對我們而言,年卻是心靈的慰...
    二寶媽黃靜閱讀 547評論 2 0