python talib 使用

各种指标

import tushare as ts
df=ts.get_k_data('sh',start='2000-01-01')
df.index=pd.to_datetime(df.date)
df=df.sort_index()
print(df.columns)


def overlap_studies():
    types=['SMA','EMA','WMA','DEMA','TEMA',
    'TRIMA','KAMA','MAMA','T3']
    df_overlap=pd.DataFrame(df.close)
    for i in range(len(types)):
        df_overlap[types[i]]=ta.MA(df.close,timeperiod=5,matype=i)
    print(df_overlap.tail(10))

    df_overlap["SMA5_shift"] = df.close / ta.SMA(df['close'], timeperiod=5) - 1
    df_overlap["SMA10_shift"] = df.close / ta.SMA(df['close'], timeperiod=10) - 1
    df_overlap["SMA20_shift"] = df.close / ta.SMA(df['close'], timeperiod=20) - 1
    df_overlap["SMA30_shift"] = df.close / ta.SMA(df['close'], timeperiod=30) - 1
    df_overlap["SMA60_shift"] = df.close / ta.SMA(df['close'], timeperiod=60) - 1
    df_overlap["SMA120_shift"] = df.close / ta.SMA(df['close'], timeperiod=120) - 1

    H_line, M_line, L_line = ta.BBANDS(df.close, timeperiod=20, nbdevup=2, nbdevdn=2, matype=0)
    stds = (M_line - L_line) / 2
    df_overlap['band_shift'] = (df.close - M_line) / stds
    print(df_overlap['band_shift'].tail(10))


def momentum_indicator():
    dif, dea, bar = ta.MACD(df['close'].values, fastperiod=12, slowperiod=26, signalperiod=9)
    df["rsi"] = ta.RSI(df.close, timeperiod=14)
    df['roc_5'] = ta.ROC(df.close, timeperiod=5)
    df['roc_10'] = ta.ROC(df.close, timeperiod=10)
    df['roc_20'] = ta.ROC(df.close, timeperiod=20)
    df['cci'] = ta.CCI(df['high'], df['low'], df['close'], timeperiod=14)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AICVer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值