资源简介
量化选股过程.7z
代码片段和文件信息
‘‘‘-------------------------------------------------------------------------------
策略思路:
(1)回测标的:沪深300与中证800
(2)回测时间段:2016年1月1日至2017年12月31日
(3)数据清洗:
1、为了使测试结果更符合投资逻辑,我们设定了三条样本筛选规则:
(1) 剔除涨停跌停股票;
(2) 剔除上市不满一年的股票;
(3) 剔除选股日由于停牌等原因而无法买入的股票。
2、数据清洗
我们本次采用研究中最常用的’中位数去极值法‘去除极值
超出区间的定义为异常值。对于异常值,取n=3,把数值改为边界值。
3、因子标准化
我们采用研究中常用的正态标准化处理因子数据。
(4)回测思路
(1)每个月把当月的因子平均值求出,然后对各个股票排序,把股票分成10档。一个月后
重新分档,各个股票等权看待。根据每天的数据,计算其夏普比率,最后总和所有数据计算
年化夏普比率。
# (2)每个月末以最好的一档为资产组合,跟踪市场表现,跟踪各档表现。
# (3)以沪深300指数为资产组合的基准指数
(5)选股设置:
该回测策略需要长期持有
(6)目标逻辑:
基础资金为100W,计算各个因子的各个股票档与资产组合的收益率、IC、IR、分档组合单调性,
最后对该因子做t检验并且计算其年化夏普比率。
-------------------------------------------------------------------------------
‘‘‘
from atrader.calcfactor import *
import numpy as np
import pandas as pd
import time
import datetime as dt
import xarray as xr
import matplotlib.pyplot as plt
from sklearn.datasets import make_moons
from scipy import stats
import random
from sklearn.svm import SVR
from sklearn.model_selection import GridSearchCV
from sklearn.model_selection import learning_curve
if __name__==‘__main__‘:
time_i = 0
print(“执行开始“.center(20“-“))
start = time.perf_counter()
time_start=time.time()
Begin_date = ‘2016-01-02‘
#degin_date为训练数据的开始时间
Begin_date = ‘2016-01-02‘
del_date = ‘2015-01-01‘
End_date = ‘2017-01-01‘
#获取训练数据
stock_code_list = list_get(Begin_dateEnd_date)
#获取kdata
stock_score_data = data_get(stock_code_listBegin_dateEnd_date)
choose_factor = [‘BIAS20‘‘CDLPIERCING‘‘FY12P‘‘EPIBS‘‘MTM10‘]#20天乖离率 分析师盈利分析 投资回报率预测 动量指标
#数据清洗
#剔除涨停涨跌与上市不满一年的股票
stock_info = get_stock_info(stock_code_list)
stock_info_data = stock_info[‘de_listed_date‘]
#进行删除
stock_score_data = del_data(stock_infostock_info_datadel_datestock_score_data)
test_mouth = 1
begin_date = dt.datetime.strptime(Begin_date ‘%Y-%m-%d‘)
profit_week = 1
all_test_time = 10
all_x = np.array([])
all_y = np.array([])
scale = all_test_time
for test_time in range(all_test_time):
#进度条
a = ‘*‘*(time_i)*3
b = ‘.‘ * ((scale -time_i))*3
c = (time_i/scale)
d = time.perf_counter() - start + 0.5
time_i+=1
# print (“{:^3.0f}%[{}->{}]“.format(cab))
print (“\r{:^3.0f}%[{}->{}]{:.2f}s“.format(cabd)end=“ “)
#x need
stock_fit_need_num =stock_score_data.iloc[np.where( (begin_date+dt.timedelta(days=profit_week*7*test_time)) < stock_score_data.time)[0]]
stock_fit_need_num =stock_fit_need_num.iloc[np.where( stock_fit_need_num.time<(begin_da
相关资源
- 直驱永磁同步风电机组建模及其控制
- 67a34115f7f4e8208985ad688c1abc7a.rar
- ssm个人博客系统.zip
- 七牛云OSS.rar
- vs2008中文教程.rar
- NC55Lic.zip
- 航信[增值税税控开票软件(金税盘版
- 增值税开票软件数据采集工具.rar
- 1768配置框图.pdf
- cea5e0d02f7fae173bec1bed4cf465e0.rar
- HorizontalScrollViewfragment自动翻页功能(
- Tetris.zip
- NeuralNetworksDeepLearning_jb51.rar
- CMOS模拟集成电路设计与仿真(罗广孝
- jmxzl6.ppt
- jake_cai_9738404.zip
- Ansys192.Crack.zip
- 一健破解Studio5000Logix.rar
- modbus_poll和modbus_slave_64bit.rar
- dewi.rar
- 图像与视频压缩技术讲义.rar
- teamviewer.quicksupport.addon.samsung.rar
- invadersf_10261826.zip
- innersense_3120291.zip
- 中国商用密码.rar
- 垃圾短信拦截系统的设计与实现.kdh
- BASIS学习环境服务器搭建方案.pdf
- 1068515楼月免费MP3录音软件v3.0.zip
- 串口工具.zip
- 亿景简单进销存2017服装版Reg注册版
评论
共有 条评论