首页 > 编程知识 正文

python宝塔线指标计算公式,趋势线选股公式源码

时间:2023-05-06 21:08:35 阅读:255358 作者:1350

大家好,我是上海大侠

看了半个小时的研报和视频,对具体实现过程含糊其辞,表述不清,模糊重点,甚至还有多处写错

本着知识开源的想法,我将我的探索过程公开,以期给同样在这条路上摸索的朋友节省一点走弯路的力气

废话先不多讲,我是个喜欢在本地数据上运行代码的男人,因为这样可以避免数据量超限的问题

先看一下数据格式

标的资产收盘价

我们这次对000905.SH也就是中证500做LLT指标的低延迟趋势线

很眼熟的公式对吧?

我们把这个公式转换成人话

这里要特别说明几个重点

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五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。