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

一、 股票aplha多因子策略介绍

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

1.1 股票alpha多因子《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第1张图片

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

1.2 多因子实现框架

《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第2张图片
首先要有一个股票的Signal Pool(信号),比如市值,每个股票的5天的涨幅,过去一年的涨幅,或者每个股票财务的ROE,PE,PB。或者每个股票的舆情数据,是自己认为有用的信号都可以就得到了很多Signal。

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

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

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

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

1.3多因子的市场视角

《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第3张图片
正常人看股票就是一个波动图,工程师看股票,类似股票是傅里叶变换得到的不同频率的组合分布图。

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

可以将市场是由维度组成,维度又是根据signal 组成。
《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第4张图片

二、Pandas的常用方法

输入

tpd = trading price daily

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

第一个属性是交易日,第二个是股票代码,SZ是深圳交易所,daily_turn股票收益,市值,自由流通市值,换手率,行业代码。
《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第5张图片

输出

demo_tpd.to_csv('路径')

取出部分数据集

列的选择

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

《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第6张图片
行的选择
第二个[]表示条件的选择,得到True和Fale的判断
《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第7张图片

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

《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第8张图片
多个条件选择:& |
《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第9张图片
列之间的运算
《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第10张图片

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

截面数据就是从一个时间点(比如某一天)看待所有数据,时间序列是不同时间点的截面数据
《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第11张图片
《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第12张图片
获取截面数据
《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第13张图片

计算截面数据下所有股票的标准差
在这里插入图片描述
计算每天的所有股票的收益率的标准差:groupby按照data_date对所有股票的daily_return计算标准差
《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第14张图片
在notebook中之间显示matplotlib的魔法命令:%matplotlib inline,在用绘制出来截面波动率。
《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第15张图片
可以看出来每天的截面波动率不一样,每天的收益是不能之间比较的,今天市场波动高,市场风险比较大,今天挣得5个点,很大一部分是市场的风险溢价。

所以需要对截面下,每个股票daily return做一个归一化调整,用当前的截面收益率/其标准差,这个的收益率是可以比的。
《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第16张图片
用groupby做对单行进行组合计算
《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第17张图片
用groupby对多行进行计算,注意需要先sort和.value
《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第18张图片
绘制单个股票的日收益的时间序列绘图,先选中单个股票,在选中日收益,进行绘图
《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第19张图片
绘制直方图,选择柱子数为100
《Python量化投资》01 量化投资之单因子测试(概述,Pandas的适用)_第20张图片

你可能感兴趣的:(量化投资,python,量化投资,金融股票)