L2聚宽量化交易系统怎样实现股票量化策略呢?说到这个问题,首先大家先想想,我们进行股票量化投资无非就是为了更高效的把握股票盈利的机会,但是往往在量化过程中,对聚宽量化交易系统的操作不了解,减少了自己量化思维。那么,在L2聚宽量化交易系统如何进行精准的量化策略分析?
首先,聚宽量化交易系统是基于L2数据接口开发出来的系统,那么就是在开发数据接接口的基础上,满足各个性能的要求,就比如交易接口开发文档:
一:数据类型的开发需求
| 交易所 | 数据类型 | 
| 上交所 | 十档行情快照(Level-2) | 
| 委托队列(Level-2) | |
| 逐笔成交(Level-2) | |
| 深交所 | 十档行情快照(Level-2) | 
| 逐笔委托(Level-2) | |
| 委托队列(Level-2) | |
| 逐笔成交(Level-2) | |
| 沪深交易所 | 期权、可转债 | 
二:消息类型开发需求:
| 消息 | 说明 | 
| TickRecord | 逐笔成交 | 
| OrderRecord | 逐笔委托 | 
| OrderQueueRecord | 委托队列 | 
| StockQuoteRecord | 股票十档行情 | 
三:TickRecord (逐笔成交)开发要求:
| 字段名 | 类型 | 备注 | 
| 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 | 交易类型:0-成交,1-撤单 | 
| buy_order_seq | string | 买方委托序号 | 
| sell_order_seq | string | 卖方委托序号 | 
开发代码示例:
假如L2聚宽量化交易系统选用vn.py中的双均线策略demo,它的量化策略代码如下:
from vnpy.app.cta_strategy import (
     CtaTemplate,
     StopOrder,
     TickData,
     BarData,
     TradeData,
     OrderData,
     BarGenerator,
     ArrayManager,
 )
 class DemoStrategy(CtaTemplate):
     """演示用的简单双均线"""
    # 策略作者
     author = "Smart Trader"
    # 定义参数
     fast_window = 10
     slow_window = 20
    # 定义变量
     fast_ma0 = 0.0
     fast_ma1 = 0.0
     slow_ma0 = 0.0
     slow_ma1 = 0.0
    # 添加参数和变量名到对应的列表
     parameters = ["fast_window", "slow_window"]
     variables = ["fast_ma0", "fast_ma1", "slow_ma0", "slow_ma1"]
    def __init__(self, cta_engine, strategy_name, vt_symbol, setting):
         """"""
         super().__init__(cta_engine, strategy_name, vt_symbol, setting)
        # K线合成器:从Tick合成分钟K线用
         self.bg = BarGenerator(self.on_bar)
        # 时间序列容器:计算技术指标用
         self.am = ArrayManager()
    def on_init(self):
         """
         当策略被初始化时调用该函数。
         """
         # 输出个日志信息,下同
         self.write_log("策略初始化")
        # 加载10天的历史数据用于初始化回放
         self.load_bar(10)
    def on_start(self):
         """
         当策略被启动时调用该函数。
         """
         self.write_log("策略启动")
        # 通知图形界面更新(策略最新状态)
         # 不调用该函数则界面不会变化
         self.put_event()
    def on_stop(self):
         """
         当策略被停止时调用该函数。
         """
         self.write_log("策略停止")
self.put_event()
    def on_tick(self, tick: TickData):
         """
         通过该函数收到Tick推送。
         """
         self.bg.update_tick(tick)
    def on_bar(self, bar: BarData):
         """
         通过该函数收到新的1分钟K线推送。
         """
         am = self.am
Market市场代码: 0—深圳,1—上海
Stockcode:证券代码;
start :指定的范围开始位置;
count:要请求的 K 线数目,最大值为 800
比如以下语句表示获取获取股票深证的000001股票最近的10条1分钟数据;
api.get_security_bars(7, 0, '000001', 0, 10)
 L2聚宽量化交易系统获取的接口一般返回list结构,如果需要转化为pandas Dataframe接口,可以使用 api.to_df 进行转化 如:
api.to_df(api.get_security_bars(7, 0, '000001', 0, 10)) # 返回普通list后转DataFrame;再进一步的调研函数程序,查询到个股的具体数据情况,就完成量化策略选股的操作了。
 
 








![[附源码]JAVA毕业设计婴幼儿玩具共享租售平台(系统+LW)](https://img-blog.csdnimg.cn/a371a54e388a426b9ccb6feb23d8d567.png)










