python:talib 计算 SAR 求发出买入信号日期

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

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值