Tushare股票数据全生命周期MACD等指标动态获取计算-前复权

【说明】
该方法需要开通Tushare的数据获取权限或个人积分大于2000分
【流程】
1.获取最新的A股已上市股票列表

【注1】该段代码正常只需执行1次,后续有新增的需要观测的股票,只需在生成的股票列表内新增对应的股票代码和股票名称等信息即可。
需要建一个Basic_Info的文件夹,并将该py代码文件与Basic_Info同级,当然亦可修改f_s路径
[代码1]

import tushare as ts

token='你的token'  #在个人主页-接口TOKEN中
pro=ts.pro_api(token)

f_s='./Basic_Info/STK_List.csv'

df= pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
df.to_csv(f_s,index=False,encoding='GBK')

[运行结果]
结果1
【注2】:可以手动剔除部分你不需要股票,如行业/板块等,如只看A股,则只留下SZ和SH的即可
2.根据股票列表获取前复权行情

此处需要注意的地方是由于2000积分档位的权限,单次仅能读取5000行的数据,一次对于发行较早的股票,则需要对其进行截断读取再合并后输出。注意需要在同级别处建立一个名为His_QFQ的文件夹

[代码2]

import time
import pandas as pd
import tushare as ts
token='你的token'  #在个人主页-接口TOKEN中
pro=ts.pro_api(token)
f_0='./Basic_Info/STK_List.csv'

def read_data(data, skip_row, level, sht_name=0):
    if data[-4:] == '.csv':
        try:
            d_u = pd.read_csv(data, header=0, chunksize=10000, encoding='gbk')  # encoding='gbk',
        except UnicodeDecodeError:
            d_u = pd.read_csv(data, header=0, chunksize=10000, encoding='utf-8')
        chunk_0 = [i for i in d_u]
        df = pd.concat(chunk_0)
    else:
        if level == 0 or level == 1:
            header = skip_row
        else:
            header = [skip_row + i for i in range(level)]
        df = pd.read_excel(data, sheet_name=sht_name, header=header)
    return df


df=read_data(f_0,0,0)
ts_code=list(df['ts_code'])
name=list(df['name'])
list_date=list(df['list_date'])

#以下两个日期的设置,如再过5-10年需要重新设置sep_date
date_1='20221101'  #你想要获取的最新的日期
sep_date=20011009

for i in range(len(name)):
    f_name=ts_code[i][:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值