东吴证券-cpv因子复现系列1——数据集获取

引言

最近行情适合量价因子,故选择东吴证券技术分析拥抱选股系列文章来复现。目前完成内容:高频量价、上下影线、换手率分布均匀度、cpv因子

数据获取

因为东吴证券量价因子需要高频数据,也就是分钟级别,故选用akshare来提取。

ak.stock_zh_a_minute(symbol=ts_code.split('.')[1].lower()+ts_code.split('.')[0], period='1')
# 获取最近的2w条数据。实时

因为akshare的接口设计问题比较多,自行查阅akshare文档

日线数据选择tushare,但因为积分原因,使用xcec_tushare

df2 = pro.daily_basic_ts(ts_code=ts_code, start_date=start_date, end_date=end_date)
df1 = pro.daily(ts_code=ts_code, start_date=start_date, end_date=end_date)
# 获取 当日涨跌幅、流通市值、总市值、换手率、波动率

整体代码:

for ts_code in tqdm(zz500):#tqdm(zz500):
    # zz500.set_description("Processing %s" % ts_code)
    df2 = pro.daily_basic_ts(ts_code=ts_code, start_date=start_date, end_date=end_date)
    df1 = pro.daily(ts_code=ts_code, start_date=start_date, end_date=end_date)

    df_ = pd.DataFrame(pd.merge(df1,df2,on='trade_date',how='inner'))
    df_ = df_.sort_values(by='trade_date')
    
    stock_zh_a_minute_df = ak.stock_zh_a_minute(symbol=ts_code.split('.')[1].lower()+ts_code.split('.')[0], 
                                                period='1')
    stock_zh_a_minute_df.index = pd.to_datetime(stock_zh_a_minute_df.day)

    df_=mpd.DataFrame(df_)


    def lamb(df):
        time = df 
        return stock_zh_a_minute_df.loc[time[:4]+'-'+time[4:-2]+'-'+time[-2:]
        ,'volume'].astype('float').corr(
            stock_zh_a_minute_df.loc[time[:4]+'-'+time[4:-2]+'-'+time[-2:],'close'].astype('float'))
            
	df_['pv'] = df_['trade_date'].apply(lamb)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值