import numpy as np

import pandas as pd

import tushare as ts

import MySQLdb as mdb

#获取沪深300指数的股票名单

hs300_data=ts.get_hs300s()

hss=hs300_data[“name”]

#获取上交所SSE,深交所SZSE,港交所HKEX正常上市交易的股票名单

pro=ts.pro_api()

exc=[“SSE”,“SZSE”]

stock_data=[]

for ex in exc:

data=pro.query(‘stock_basic’, exchange=ex,

list_status=‘L’,

fields=‘ts_code,symbol,name,area,industry,list_date’)

stock_data.append(data)

#获取沪深300成分股中正常上市交易的名单

s_name=pd.concat([stock_data[0][[“name”,“ts_code”]],

stock_data[1][[“name”,“ts_code”]]],ignore_index=True)

normal300=[]

num300=len(hss)

numn=len(s_name)

for i in range(num300):

for j in range(numn):

if hss.loc[i]==s_name.loc[j][“name”]:

normal300.append(s_name.loc[i])

#提取沪深300指2010年01月01到2018年01月01的交易数据,存入d_price中

d_price=[]

for i in range(len(normal300)):

df = pro.daily(ts_code=normal300[i][“ts_code”],

start_date=‘20100101’,

end_date=‘20180101’)

d_price.append(df)

PS:本例中总共提取了295个,貌似正常交易的就295个

Logo

加入社区!打开量化的大门,首批课程上线啦!

更多推荐