A股量化交易跟踪突破策略

该代码示例利用Python的Tushare库获取股票历史数据,计算阻力位、支撑位,并根据收盘价判断买入、卖出或观望的信号。通过设置计数器和延迟避免频繁调用接口。结果显示多只股票价格突破上轨道,建议买入。
摘要由CSDN通过智能技术生成

文章目录


前言

`这段代码的设计思路是遍历所有股票,获取它们在某一时间段内的历史行情数据,并基于收盘价计算该股票的上下轨道(阻力位与支撑位)以及均值与标准差。然后,根据最新的收盘价与上下轨道进行比较,判断是否建议买入、卖出或观望,并将结果保存到一个文本文件中。其中,为了防止频繁调用 Tushare 接口导致限制,代码还设置了计数器和时间延迟。具体来说,当循环处理了 800 个股票时,代码会休眠 60 秒,然后重置计数器,重新开始循环处理股票。
查询dqnapi接口域名:http://www.dqnapi.com/
在这里插入图片描述
在这里插入图片描述

pro.stock_basic dqnapi号:100.3568/2023.1_v1

python

import tushare as ts
import pandas as pd
from time import sleep
# 获取 Tushare 账户 TOKEN
pro = ts.pro_api(token='')

# 获取所有股票的基本信息
stock_list = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name')
count = 0 
# 循环遍历每个股票
for code in stock_list['ts_code']:

    count += 1
    if count >= 800:
        sleep(60)
        count = 0
    try:
        print(code)
        # 获取股票代码为 code 的历史行情数据
        df = pro.daily(ts_code=code, start_date='20220101', end_date='20220620')
        df = df.sort_values(by='trade_date')

        # 计算当前收盘价和前一天收盘价的比率,并计算均值与标准差
        df['close_rate'] = df['close'] / df['close'].shift(1)
        rolling_mean = df['close_rate'].rolling(window=20).mean()
        rolling_std = df['close_rate'].rolling(window=20).std()

        # 计算上下轨道(阻力位与支撑位),并去掉 NaN 值
        upper_band = rolling_mean + 2 * rolling_std
        lower_band = rolling_mean - 2 * rolling_std
        upper_band = upper_band.dropna()
        lower_band = lower_band.dropna()

        # 获取最新的收盘价
        last_price = df['close'].iloc[-1]

        # 判断最新的收盘价是否突破了上下轨道
        if last_price > upper_band.iloc[-1]:
            result = f"{code} 价格突破上轨道,建议买入!"
        elif last_price < lower_band.iloc[-1]:
            result = f"{code} 价格跌破下轨道,建议卖出!"
        else:
            result = f"{code} 价格未突破上下轨道,观望!"

        # 将结果保存到文件中
        with open('tupo.txt', 'a+') as f:
            f.write(result + '\n')

    except Exception as e:
        print(f"{code} 数据获取失败:{e}")
        


总结

000001.SZ 价格突破上轨道,建议买入!
000002.SZ 价格突破上轨道,建议买入!
000004.SZ 价格突破上轨道,建议买入!
000005.SZ 价格突破上轨道,建议买入!
000006.SZ 价格突破上轨道,建议买入!
000007.SZ 价格突破上轨道,建议买入!
000008.SZ 价格突破上轨道,建议买入!
000009.SZ 价格突破上轨道,建议买入!
000010.SZ 价格突破上轨道,建议买入!
000011.SZ 价格突破上轨道,建议买入!
000012.SZ 价格突破上轨道,建议买入!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值