赞
踩
之前写的一些策略主要是基于时间序列下的个股交易方式(网格交易策略、动量策略等),这些策略不属于目前的主流策略,在现今只是起收益增厚的辅助作用。今天讲一个量化机构都在用的多因子选股模型,正巧见过一个券商研报用CNN来做,自己尝试做一下,熟悉一下架构。
模型涉及到多期回测,有点点复杂,可以看看下图,我尽量解释清楚各个模块。
话不多说上代码
导入必要库:
- import akshare as ak
- import pandas as pd
- import numpy as np
- from pylab import plt, mpl
- from datetime import datetime, timedelta
- from sklearn.model_selection import train_test_split
- from tensorflow.keras.models import Sequential
- from tensorflow.keras.layers import Conv1D, MaxPooling1D, Flatten, Dense
- from sklearn import preprocessing
查询投资范围的股票代码以及基本信息
- # 查询股票代码
- stock_list = ak.index_stock_cons_weight_csindex(symbol="000300")
- noa = 300
- # 查询行业 + 重构表格
- data = []
- for i in range(noa):
- 所属行业 = ak.stock_individual_info_em(symbol=stock_list['成分券代码'][i])['value'][2]
- data.append([stock_list['成分券代码'][i], stock_list['权重'][i], 所属行业])
- data = pd.DataFrame(data, columns= ['代码','权重','行业'])
第一个模块,上图所示黄色部分,定义函数计算单期因子以及对应涨跌幅。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。