量化分析-常用数据的获取与整理

常见的量化因子:
1、常用的技术指标类:指主流的技术指标、使用前的复权价格计算,反应股票的量价信息,例如hurst等指标。
2、每股指标:指每股的相关财务指标,例如EPS、每股企业自由现金流等。
3、价值类:体现市场对公司的估值大小,例如PB、PE等
4、质量类:体现公司的盈利能力与收益质量,例如营业利润率,反映了公司的营业利润(经过TTM调整)占营收的比例。
5、动量类:衡量股票价格的“惯性效应”。
6、成长类:反映公司的成长性,例如净利润增长率。
7、情绪类:指基于量价关系来衡量市场参与者的情绪
8、收益与风险类因子:指与收益风险相关的因子,例如股票的60日alpha和beta。
9、基础科目与衍生科目:是财报数据的衍生,例如净利润的TTM数值、息税前净利润(EBIT)等。
10、分析师预期:根据分析师的一致预期数据计算,体现了分析师对个股趋势的预测。

优矿官网
数据探索与数据清洗:

df=DataAPI.MktStockFactorsOneDayGet(tradeDate=u"20180119",secID=set_universe("A"),ticker=u"",field=u"secID,tradeDate,ROE",pandas="1")
df.plot.hist(bins=100)
df.boxplot(sym="rs")

量化分析-常用数据的获取与整理_第1张图片
量化分析-常用数据的获取与整理_第2张图片
这里我们常以最常用的3倍标准差法为例,将超过3倍标准差的数据调整为3倍标准差

df_=df.copy()
df_.loc[df.ROE-df.ROE.mean()<-3*df.ROE.std(),"ROE"]=df.ROE.mean()-3*df.ROE.std()
df_.loc[df.ROE-df.ROE.mean()>3*df.ROE.std(),"ROE"]=df.ROE.mean()+3*df.ROE.std()
df_.plot.hist(bins=100)

量化分析-常用数据的获取与整理_第3张图片
数据转化(数据标准化及设置哑变量)
1、数据标准化
(1)Min-max标准化:
v1=(v-min)/(max-min)
(2)z-score标准化
v2=(v-u)/a

#MIN-max标准化
((df_["ROE"]-df_["ROE"].min())/(df_["ROE"].max()-df_["ROE"].min())).plot.hist(bins=100)

量化分析-常用数据的获取与整理_第4张图片

#z-score标准化
((df_["ROE"]-df_["ROE"].mean())/df_["ROE"].std()).plot.hist(bins=100)

量化分析-常用数据的获取与整理_第5张图片
2、哑变量:转化为0或1变量

import pandas as pd
df_industry=DataAPI.EquIndustryGet(industryVersionCD=u"010303",industry=u"",                  secID=df_["secID"].tolist(),ticker=u"",intoDate=u"20180101",field=u"secID,industryName1",pandas="1")
industry_list=df_industry["industryName1"].drop_duplicates().tolist()

def get(x):
    ind_s=pd.Series([0]*len(industry_list),index=industry_list)
    if len(df_industry[df_industry["secID"]==x])>0:
        ind=df_industry[df_industry["secID"]==x]["industryName1"].values[0]
        ind_s.loc[ind]=1
    return ind_s

df_[industry_list]=df_["secID"].apply(lambda x:get(x))
df_.head()

量化分析-常用数据的获取与整理_第6张图片

你可能感兴趣的:(金融数据的处理)