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、列表是完备的...
    单调不减阅读 241评论 0 0
  • 听说那扇高大的木门后 藏着许多关于命运的故事 我扶着你的手边讲边走在青石长巷 分别从天而降 勒紧你脖子的黑蕾丝 双...
    李秋蓝阅读 240评论 0 12
  • 心绪万千 提笔难言 把思念化成线 缠绕你心间 梦里你的笑虚掩 风拨弄着你的脸 我不敢去看 悄悄躲在梦里面
    回忆成茧阅读 312评论 0 1
  • 年是什么?一代人有一代人的认识。对孩子而言,过年是感官的刺激,它总是红红火火,爆竹声声;对我们而言,年却是心灵的慰...
    二宝妈黄静阅读 545评论 2 0