talib_sar.py 求买入信号发出日期
Buy:买入,close:收盘价,rate:收益率
# -*- coding: utf-8 -*-
import os, sys
import tushare as ts
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import talib
if len(sys.argv) ==2:
code = sys.argv[1]
else:
print('usage: python talib_sar.py stockcode ')
sys.exit(1)
if len(code) !=6:
print('stock code length: 6')
sys.exit(2)
df = ts.get_k_data(code)
if df.empty ==True:
print(" df is empty ")
sys.exit(2)
df = df[ df['date'] > '2024-01-01']
if len(df) <10:
print(" len(df) <10 ")
sys.exit(2)
#df = df.resample('B').ffill()
print(df.tail())
# SAR,Stop and Reverse,是 Welles Wilder发明的,SAR是一个基于价格/时间的指标.
sar = talib.SAR(df.high, df.low, acceleration=0.02, maximum=0.2)
print(sar.tail(5))
close = df['close'].values
# 过滤阀值
glv = close[-10]*0.05
# 求发出买入信号日期
for i in range(-30,0):
if (sar.iloc[i-1] - sar.iloc[i]) > glv:
print(df[i:i+1])
print('B

该代码示例演示了如何利用Talib库计算股票的SAR指标,并找出买入信号。程序从命令行参数获取股票代码,筛选2021年以后的数据,计算SAR并设置过滤阈值,输出满足条件的买入信号日期及其收益率。同时,绘制了收盘价和SAR的图表。
最低0.47元/天 解锁文章
8753

被折叠的 条评论
为什么被折叠?



