期货交易自动化论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 216|回复: 0

《高频交易》读书笔记_zhaot1993的博客-CSDN博客

[复制链接] |主动推送

285万

主题

285万

帖子

855万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8553710
发表于 2022-9-11 04:38:34 | 显示全部楼层 |阅读模式
这本书的翻译有很多句子不通 有能力还是读原版的吧。
我只记录了高频交易实践内容 用来为机器自动交易提供参考。包括功能架构、常见缺陷、测试 三部分。
一  功能架构



上图为大多数系统交易平台结构 主要由5个步骤构成 1、核心引擎 2、报价归档 3、交易后分析 4、模拟 5、人力监督
1、核心引擎 为了快 多为C 开发 有些用Java的关闭了GC。核心系统和投资组合管理系统启动 核心系统调自营商下单 response为价格和成交数额 核心系统计算收益 反馈到投资组合管理系统的风险管理参数
投资组合管理系统包括 原始报价输入、计量经济模型、当前头寸(仓位)规模、投资多元化信息、投资组合回报最大化投入、最小化投资组合的风险。
客户与自营商传递报文用的是财务信息交换协议(FIX)

风险管理系统 突破绩效盈亏限制时 生成警告信息。

2、报价归档 高频交易中最具有时效性的功能是数据归档。(IO速度远低于CPU、内存的速度 核心计算用c IO功能用速度慢的python也行)我觉得可以加入非关系型数据库、异步IO。

3、交易后分析 交易后 分析系统去分析 代码模拟的结果 与实际交易的结果 是否有一致预期。然后更新收益分布、交易成本、风险管理参数 用来反馈到核心系统、投资组合优化过程、风险管理组成模块。

4、模拟 指一个交易策略的虚拟执行 模拟引擎是个独立模块 跟上面那些代码不在一起。

模拟市价订单时 为了更接近实时交易结果 要估计每单位交易规模平均市场冲击 然后调整最低报价的市场冲击估计值。

模拟限价订单时 要考虑价格要超过限价时 才能保证被买入或卖出。

模拟结果可能在实际中没用 这就需要大量数据做测试 数据越多能最大限度减少数据抽样偏差。

回测也用于估计风险 可以反馈给风险管理模型、收益分布等。

另外 为应对闪电崩盘 要进行压力测试。

如果策略在回测结果中令人满意 就进行纸上模拟交易——基于实时数据运行 但没有真正进行交易。这时要记录 订单粒度 至少1毫秒 交易性金融工具代码 观测最优买价和最优买价规模 最优卖价和最优卖价规模 记录这些以便订单和数据的日后调节 订单数量 假设执行价格

最后上生产 要和纸上模拟交易一样 记录数据 用于以后评估策略。

生产和纸上模拟的绩效差异 叫执行落差 用于反馈对滑点和其他潜在成本的对策考虑。

5、人力监督 监督系统别中病毒和宕机。

二  常见缺陷

  信息确认循环 报文传输时间长会使算法偏离 对于多下单的情况 可以设置两个计数器 一个发送指令 另一个确认订单执行位置。

时间失真 各个环节都有耗时 为了保证不出乱子 给报价打上时间戳并放入队列执行。

执行速度 最好靠近自营商的服务器。

三  测试交易系统

数据集测试 测试数据的有效性 减少数据中的不良影响和数据失真。

单元测试 检查系统每个单独组件是否正常工作。

整合测试 就是集成测试 不同功能联调。

系统测试 GUI测试 压力测试 安全测试 可扩展性测试 可靠性测试(高可用4个9) 恢复测试

回归测试(回测)

自动化测试

  最后俩归属于用例测试 就是功能测试。



《高频交易》读书笔记
这本书的翻译有很多句子不通,有能力还是读原版的吧。我只记录了高频交易实践内容,用来为机器自动交易提供参考。包括功能架构、常见缺陷、测试,三部分。一 功能架构上图为大多数系统交易平台结构,主要由5个步骤构成:1、核心引擎;2、报价归档;3、交易后分析;4、模拟;5、人力监督;1、核心引擎:为了快,多为C++开发,有些用Java的关闭了GC。核心系统和投资组合管理系统启动,核心系统调自营...
复制链接
抵扣说明:
  1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|期货交易自动化论坛

GMT+8, 2024-5-6 16:39 , Processed in 0.096571 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表