全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
1996 0
2022-02-25
分享一下我做的50etf期权数据获取的程序~~


pip install tushare
pip install openpyxl
import tushare as ts
ts.set_token('XXXXXXX')#此处复制粘贴自己的token
pro = ts.pro_api()

-----------------------------------------------------------------------------------------
import pandas as pd
from datetime import datetime
def datelist(beginDate, endDate):
    # beginDate, endDate是形如‘20160601’的字符串或datetime格式
    date_l=[datetime.strftime(x,'%Y%m%d') for x in list(pd.date_range(start=beginDate, end=endDate))]
    return date_l
date=datelist('20150209','20180921')

-----------------------------------------------------------------------------------------
df_50etf=pd.DataFrame()#先定义
k=0
for i in date:
    df_basic = pro.opt_basic(exchange='SSE', fields='ts_code,name,call_put,exercise_price,list_date,delist_date')
    df_basic = df_basic.loc[df_basic['name'].str.contains('50ETF')]
    df_basic = df_basic[(df_basic.list_date<=i)&(df_basic.delist_date>i)] # 提取当天市场上交易的期权合约
    df_basic = df_basic.drop(['name','list_date'],axis=1)
    df_basic['date'] = i
    k+=1
    if k%100==0:
        time.sleep(60)#此处由于平台获取限制,每获取60个需要暂停1min
        if df_basic.empty:
            continue
        else:
            df_50etf=df_50etf.append(df_basic)

-----------------------------------------------------------------------------------------
df_basic = pro.opt_basic(exchange='SSE', fields='ts_code,name,call_put,exercise_price,list_date,delist_date')
df_basic = df_basic.loc[df_basic['name'].str.contains('50ETF')]

outputpath='C:/Documents/data_basic.xlsx'#导出到excel文件,自定义路径
df_basic.to_excel(outputpath,index=False,header=True)

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群