# QT_Test
本测试旨在重现一套比较简单且完备的量化框架,该框架基于现代投资组合理论,并应用主流的机器学习算法(SVM)进行分析。 旨在初步形成一个量化投资的思路,辅助构建科学合理的投资策略。
## Anticipate Process
### Preparation
- [SQL Queries](https://github.com/FDUJiaG/QT_Test/tree/master/sqlQueries)
- [Initial Capital](https://github.com/FDUJiaG/QT_Test/blob/master/sqlQueries/my_capital.sql) of Loopback Test (optional, default = 1 M)
### Input
- Stock Pool
- Base Stock Index
- Interval of Loopback Test
- Windows of Preproession (optional, default = 365)
- Windows of Loopback Trainning Test (optional, default = 90)
- Windows of Loopack Portfolio (optional, default = year)
- Change Frequency of Portfolio (optional, default =5)
### Main Program
```shell
$ python Init_StockALL_Sp.py
$ python stock_index_pro.py
$ python main_pro.py
```
### Output
- Daily Trading Data in [Stock Pool](https://github.com/FDUJiaG/QT_Test/blob/master/sqlT_to_csv/stock_all.csv) and [Base Index](https://github.com/FDUJiaG/QT_Test/blob/master/sqlT_to_csv/stock_index_pro.csv)
- [Result](https://github.com/FDUJiaG/QT_Test/blob/master/sqlT_to_csv/model_ev_resu.csv) of SVM Model Evaluation
- The [Capital Situation](https://github.com/FDUJiaG/QT_Test/blob/master/sqlT_to_csv/my_capital.csv) during Loopback Test
- The [Stocks Holding](https://github.com/FDUJiaG/QT_Test/blob/master/sqlT_to_csv/my_stock_pool.csv) in Last Loopback Test Day
- [Effect Index](https://github.com/FDUJiaG/QT_Test/blob/master/imag/LoopBack.png) of Quantization
- Visualization of Return and Withdrawal
## Dependencies
测试使用的Python版本:3.6.8
测试使用的Anaconda版本:1.9.6
### Installation or Upgrade for Tushare
```shell
$ pip install tushare
$ pip install tushare --upgrade
```
### Import Tushare
```python
import tushare as ts
```
tushare版本需大于1.2.10
### Set Token
```python
ts.set_token('your token')
```
完成调取tushare数据凭证的设置,通常只需要设置一次
### Initialize Pro API
```python
pro = ts.pro_api()
# 或者在初始化中直接设置token
pro = ts.pro_api('your token')
```
### Main Data API
```python
pro.daily() # 获取日K数据(未赋权)
pro.index_daily() # 获取指数行情
pro.trade_cal() # 获取交易日历
```
### Package
#### Time Handle
```python
import datetime
```
#### MySql Handle
```python
import pymysql.cursors
import sqlalchemy
```
#### Data Handle
```python
import numpy as np
import pandas as pd
from sklearn import svm
import pylab as *
import math
```
## 设计过程
### 数据采集预处理后建模
- 基于[Tushare](https://tushare.pro/document/1?doc_id=131)进行交易数据采集([股票](https://github.com/FDUJiaG/QT_Test/blob/master/codes/Init_StockALL_Sp.py),[指数](https://github.com/FDUJiaG/QT_Test/blob/master/codes/stock_index_pro.py))
- 简单[数据预处理](https://github.com/FDUJiaG/QT_Test/blob/master/codes/DC.py),生成训练集
- 利用[SVM](https://blog.csdn.net/b285795298/article/details/81977271)算法进行[建模](https://github.com/FDUJiaG/QT_Test/blob/master/codes/Model_Evaluate.py),并[预测涨跌](https://github.com/FDUJiaG/QT_Test/blob/master/codes/SVM.py)情况,准备开发择时策略
### 模型评估和仓位管理
- 测试区间内[评估指标](https://blog.csdn.net/zhihua_oba/article/details/78677469)的[计算](https://github.com/FDUJiaG/QT_Test/blob/master/codes/Model_Evaluate.py),包括:Precision,Recall,F1,Negative_Accuracy等值
- 基于[马科维茨理论](https://mp.weixin.qq.com/s/neCSaWK0c4jzWwCfDVFA6A)的[仓位管理](https://github.com/FDUJiaG/QT_Test/blob/master/codes/Portfolio.py)分配,取**次最小的特征值和特征向量**(最佳收益方向)
### 模拟交易测试及回测
- 模拟交易,包括:获取资金账户[数据](https://github.com/FDUJiaG/QT_Test/blob/master/codes/Deal.py),执行买卖[操作](https://github.com/FDUJiaG/QT_Test/blob/master/codes/Operator.py),更新持仓天数及买卖[逻辑](https://github.com/FDUJiaG/QT_Test/blob/master/codes/Filter.py),更新资产表[数据](https://github.com/FDUJiaG/QT_Test/blob/master/codes/Cap_Update_daily.py)等
- 策略框架下,进行[回测](https://github.com/FDUJiaG/QT_Test/blob/master/codes/main_pro.py)并计时
- 计算并返回量化策略[评估指标](https://www.jianshu.com/p/363aa2dd3441):Return,Withdrawal,Sharp,Risk,IR及Tracking Error等
- 对于Return,Withdrawal的可视化展示
## [阅读完整版](https://fdujiag.github.io/QT_Test)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
svm QT_Test 本测试旨在重现一套比较简单且完备的量化框架,该框架基于现代投资组合理论,并应用主流的机器学习算法(SVM)进行分析。旨在初步形成一个量化投资的思路,辅助构建科学合理的投资策略。 预测流程 制备 SQL 查询 环回测试的初始资本(可选,默认值 = 1 M) 输入 库存池 基础股指数 环回测试间隔 预处理窗口(可选,默认值 = 365) 环回训练测试的窗口(可选,默认值 = 90) Loopack Portfolio 的 Windows(可选,默认值 = 年份) 更改投资组合的频率(可选,默认 =5) 主程序 $ python Init_StockALL_Sp.py $ python stock_index_pro.py $ python main_pro.py 输出 股票池和基础指数的每日交易数据 SVM 模型评估结果 环回测试期间的资本情况 上一个环回测试日的股票持有量 量化效果指标 退货和取款的可视化 依赖 测试使用的Python版本:3.6.8 测试使用的Anaconda版本:1.9.6 安装或升级Tushare
资源推荐
资源详情
资源评论
收起资源包目录
master.7z (47个子文件)
master
QT_Test-master
.DS_Store 10KB
codes
main_pro.py 12KB
Operator.py 8KB
Filter.py 2KB
Deal.py 2KB
Cap_Update_daily.py 2KB
Cal_Quota.py 3KB
SVM.py 520B
stock_index_pro.py 3KB
Init_StockALL_Sp.py 3KB
Portfolio.py 5KB
README.md 2KB
DC.py 3KB
Model_Evaluate.py 7KB
sqlQueries
stock_stock_info.sql 2KB
stock_stock_all.sql 2KB
model_ev_resu.sql 2KB
my_capital.sql 2KB
my_stock_pool.sql 2KB
stock_index_pro.sql 2KB
README.md 1KB
model_ev_mid.sql 2KB
sqlT_to_csv
my_capital.csv 213B
my_stock_pool.csv 111B
stock_index_pro.csv 338KB
stock_info.csv 1.09MB
model_ev_resu.csv 7KB
stock_all.csv 1.85MB
index.html 401KB
imag
SVM_ans.png 12KB
LoopBack_190724_190823.png 249KB
Loading_Stock_Data.png 48KB
Cal_Quant_eg.png 94KB
LoopBackFlow.png 204KB
LoopBack.png 72KB
Capital_Table.png 218KB
SVM_Model_Evaluate.png 110KB
Stock_Hold.png 6KB
Loading_Index_Data.png 15KB
Model_Evaluate.png 61KB
Stock_Pool_Data.png 156KB
Stock_Index.png 86KB
Portfolio.png 98KB
.gitignore 11B
LoopBack.graffle 14KB
index.md 22KB
README.md 5KB
共 47 条
- 1
资源评论
H_zizi
- 粉丝: 354
- 资源: 67
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 20221230IqFQX3Yc.zip
- Microsoft.AspNetCore.Authentication.JwtBearer 3.1.32
- picCombobox图片下拉菜单案例.xls
- Java语言实现使用Prim(普利姆)算法求最小生成树(源代码)
- 奕尧笔记 yiyao-notebook-evv Setup 3.1.6.exe
- 继保实验模版 实验一 三段式电流保护及自动重合闸 实验二 变压器差动保护 实验三 微机型距离保护实验
- web前端页面通过BrowserPrint API连接斑马打印机进行RFID条形码贴纸打印
- 导体、导线、各种电缆载流量表
- 坐标点批量转面工具,可以将经纬度坐标点批量转为KML格式的面文件
- 海龟画图一个胶囊表情包
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功