上穿函数用于判断上穿信号的有无。输入为两条信号,obj和ref,两者数据类型为python列表。主要判断obj是否上穿ref。
import talib as tl import pandas as pd import numpy as np import matplotlib.pyplot as plt #上穿信号 #obj上穿ref,返回上穿位置索引 def upcross(obj, ref): print(ref[0] < 1) assert len(obj) == len(ref), '上穿信号输入维度不相等' assert len(obj) > 1, '上穿信号长度至少为2' res =[] for i in range(1, len(obj)): if obj[i-1] < ref[i-1] and obj[i] > ref[i]: res.append(i) #print(res) return res if __name__ == '__main__': df = pd.read_csv('600029.SH.csv') close = df.close.values close_avg = tl.MA(close, 20) res = upcross(close, close_avg) print(res) plt.plot(range(len(close)), close) plt.plot(range(len(close_avg)), close_avg) for r in res: plt.axvline(r, ls="-.",c="r") plt.legend(['close', 'close_avg']) plt.show()
ps:
1、公众号实时查询股票涨幅,无需打开交易软件,方便查看;
2、量化知识和策略分享。
请关注“量化之窗”公众号,如有疑问,请在文章下方留言,欢迎使用!