当前位置: 首页 > news >正文

如何借助现有股票量化交易平台编写策略和回测分析

每个交易日的股票都会上涨或者下跌,在这个过程中笔者们偶尔会想针对部分股票进行股价的涨跌幅进行监控,或者自动进行交易,在这个需求前提下,现有券商、股票分析软件都会带有机器人自动交易策略功能,大部分都需要收费或者部分策略不能满足自己的需求,笔者这边提供2种实现思路:

1、借助现有股票量化交易平台编写策略和回测分析,然后在券商软件层面进行策略执行。

2、自己编写功能代码来监控估价,对股价波动进行特殊处理满足特殊需求。

第一种实现成本较低,但功能受限于平台;第二种实现成本毋庸置疑相对较高,但是逻辑可以自己控制。那么为了方便大家学习小编附一部分用Python搭建自己的量化回测分析代码!

#先引入后面可能用到的包(package)
import pandas as pd  
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns  
sns.set()  
%matplotlib inline    
#正常显示画图时出现的中文和负号
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False
#使用tushare获取交易数据
#设置token
import tushare as ts 
token='输入在tushare.pro上获取的token'
ts.set_token(token)
pro=ts.pro_api(token)
#pro=ts.pro_api(token)
index={'上证综指': '000001.SH','深证成指': '399001.SZ',
        '沪深300': '000300.SH','创业板指': '399006.SZ',
        '上证50': '000016.SH','中证500': '000905.SH',
        '中小板指': '399005.SZ','上证180': '000010.SH'}
#获取当前交易的股票代码和名称
def get_code():
    df = pro.stock_basic(exchange='', list_status='L')
    codes=df.ts_code.values
    names=df.name.values
    stock=dict(zip(names,codes))
    #合并指数和个股成一个字典
    stocks=dict(stock,**index)
    return stocks    
#获取行情数据
def get_data(stock,start='20151009',end=''):
    #如果代码在字典index里,则取的是指数数据
    code=get_code()[stock]
    if code in index.values():
        df=ts.pro_bar(ts_code=code,asset='I',start_date=start, end_date=end)
    #否则取的是个股数据
    else:
        df=ts.pro_bar(ts_code=code, adj='qfq',start_date=start, end_date=end)
    #将交易日期设置为索引值
    df.index=pd.to_datetime(df.trade_date)
    df=df.sort_index()
    return df

 那么量化交易的实现也是离不开level2行情接口的, Level-2里面有一个很重要的是逐笔委托,很多量化私募以及T0策略都要用!为了方便理解接下来小编给大家展示一下level2逐笔委托实例!

  1.  Level-2C++实例(逐笔委托) 

字段名

类型

备注

stock_exchange

uint32

证券市场,1-SH,2-SZ

stock_code

string

证券代码

created_at

int64

委托日期时间戳(毫秒)

code

string

委托编号

price

uint32

委托单价

volume

uint64

委托数量

amount

uint64

成交金额

tx_dir

uint32

交易方向:0-未知,1-买入,2-卖出

tx_kind

uint32

交易类型:1-市价,2-限价,3-本方优先,10-撤单, 11-暂不清楚( 基金/ 债券有此值)

返回实例: 

 

 

那么大家可以通过https://gitee.com/l2gogogo 查询level2接口信息,若是对量化交易和level2接口有不明白的也可以通过下面名片给小编留言!

相关文章:

  • 腾讯产品经理的自动化工作流
  • 【Pygame实战】这游戏有毒,刷爆朋友圈:小编已与病毒版贪吃蛇大战了三百回合,最高分339?
  • Linux基本指令集合
  • Linux文件压缩和解压命令【gzip、gunzip、zip、unzip、tar】【详细总结】
  • vue.js毕业设计,基于vue.js前后端分离外卖点餐系统(H5移动项目) 开题报告
  • lazada买家订单导出
  • OTA: Optimal Transport Assignment for Object Detection原理与代码解读
  • JS 获取一个对象的 key 值和 value 值
  • MPLS_微P恩
  • R语言探索 BRFSS 数据和预测
  • 卡尔曼滤波器
  • DJYGUI系列文章十一:GDD矩形区域运算
  • pyinstaller打包记录|| 打包成功,含xgboost打包遇到的问题
  • Kotlin 使用vararg可变参数
  • 数字集成电路设计(五、仿真验证与 Testbench 编写)(五)
  • OSI七层参考模型和TCP/IP四层(五层)参考模型
  • 网易有道三季报解读:转型“有道”,但依旧道阻且长
  • 堆排序(算法实现)
  • antd table 表格滚动高度适配
  • 云原生周刊 | 波音公司允许员工给开源项目做贡献
  • 神十九都带回了哪些实验样品?果蝇等生命类样品已交付科学家
  • 移动互联网未成年人模式正式发布
  • 比熬夜更伤肝的事,你可能每天都在做
  • 黄仁勋访华期间表示希望继续与中国合作,贸促会回应
  • 科学时代重读“老子”的意义——对谈《老子智慧八十一讲》
  • 大学2025丨专访南开人工智能学院院长赵新:人工智能未来会变成通识类课程