《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)

《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用),第1张

《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用) 一、 股票aplha多因子策略介绍

量化投资是指通过数量化方式及计算机程序化发出买卖指令,以获取稳定收益为目的的交易方式。在海外的发展已有30多年的历史,其投资业绩稳定,市场规模和份额不断扩大、得到了越来越多投资者认可。从全球市场的参与主体来看,按照管理资产的规模,全球排名前四以及前六位中的五家资管机构,都是依靠计算机技术来开展投资决策,由量化及程序化交易所管理的资金规模在不断扩大。

1.1 股票alpha多因子

多因子投资:先去找一些系列单个的因子,将单因子进行合成,完成一个大的因子alpha。利用大的alpha去构建一个组合,组合构建的方法多种多样,根据组合的策略进行投资。通过因子分析去分析挣钱的原因是什么,亏钱的原因是什么,看每个因子对于挣钱和亏钱的贡献度是多少。

1.2 多因子实现框架


首先要有一个股票的Signal Pool(信号),比如市值,每个股票的5天的涨幅,过去一年的涨幅,或者每个股票财务的ROE,PE,PB。或者每个股票的舆情数据,是自己认为有用的信号都可以就得到了很多Signal。

可以根据数学方法和经验,将相关的Signal归位一类的Factor,就组成了Factor Pool。

对N个Factor进行配权重,就得到了Alpha。对或得到的Alpha函数对股票池子中的函数进行打分,排序。

用筛选出来的股票(比如前10个股票),比如等权组合,有1000万资金,对每个股票每个买入100万。或者打分加权组合:依据前面的Alpha计算的值进行配权重,依据权重进行买入。

利用归因模型对组合进行归因。

1.3多因子的市场视角


正常人看股票就是一个波动图,工程师看股票,类似股票是傅里叶变换得到的不同频率的组合分布图。

工程师看股票的涨跌是认为股票的属性,股票的影响因素角度去看待收益。某个股票的因素影响挣钱和亏钱。

可以将市场是由维度组成,维度又是根据signal 组成。

二、Pandas的常用方法 输入

tpd = trading price daily

import pandas as pd
demo_tpd = pd.read_hdf('.demo_tpd.hs)

第一个属性是交易日,第二个是股票代码,SZ是深圳交易所,daily_turn股票收益,市值,自由流通市值,换手率,行业代码。

输出
demo_tpd.to_csv('路径')
取出部分数据集

列的选择

demo_tpd[['data_date','secucode','daily_return']]


行的选择
第二个[]表示条件的选择,得到True和Fale的判断

demo_tpd[[demo_tpd['data_date'] > '2015-01-22']]


多个条件选择:& |

列之间的运算

截面数据数据和时间序列数据

截面数据就是从一个时间点(比如某一天)看待所有数据,时间序列是不同时间点的截面数据


获取截面数据

计算截面数据下所有股票的标准差

计算每天的所有股票的收益率的标准差:groupby按照data_date对所有股票的daily_return计算标准差

在notebook中之间显示matplotlib的魔法命令:%matplotlib inline,在用绘制出来截面波动率。

可以看出来每天的截面波动率不一样,每天的收益是不能之间比较的,今天市场波动高,市场风险比较大,今天挣得5个点,很大一部分是市场的风险溢价。

所以需要对截面下,每个股票daily return做一个归一化调整,用当前的截面收益率/其标准差,这个的收益率是可以比的。

用groupby做对单行进行组合计算

用groupby对多行进行计算,注意需要先sort和.value

绘制单个股票的日收益的时间序列绘图,先选中单个股票,在选中日收益,进行绘图

绘制直方图,选择柱子数为100

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5708870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存