1.【量化干货02】收集过的交易开拓者TB量化投资程序化交易资料合集
2.专享策略13 | 基于抄底摸顶思路的震荡策略
3.NVIDIA PTX ISA 学习笔记:Memory Consistency Model
4.基于VN.PY的CTA策略入门心得
5.vn.py社区精选4 - 双均线策略深度解析
【量化干货02】收集过的交易开拓者TB量化投资程序化交易资料合集
交易开拓者(TradeBlazer)作为专业投资者的交易软件,深受国内CTA量化领域人士喜爱,是中国最早能够接入证券、期货市场进行自动交易的程序化交易软件之一。其功能丰富,包含多帐户交易终端和强大的idea tomcat源码分析程序化交易功能,帮助用户将交易思想转化为代码,形成个性化交易策略,借助计算机辅助执行。
在自学商品期货量化交易的过程中,许多新手会自行收集整理相关资料。本文针对交易开拓者TB,总结并梳理了六个主要部分,以供新老用户参考学习。
一、基础课程
初学者应从基础课程开始,主要涵盖编程语法、程序结构、数据类型、运算符、交易指令等基础知识,为后续进阶学习打下坚实基础。
二、进阶课程
在具备一定编程基础后,可深入学习进阶课程,内容涵盖更复杂的编程技巧和策略应用,尤其在交易细节和仓位控制方面进行详细讲解,助力用户掌握更高级的交易策略。
三、高阶课程
针对进阶用户,高阶课程深入探索止盈止损、仓位控制、多品种交易、cf2.8.0源码模拟盘/实盘执行等细节,同时详细解析多均线、MACD/KDJ、唐奇安/布林通道等策略,提供更全面的交易策略指导。
四、专题课程
专题课程聚焦程序化交易者和策略开发者关心的问题,包括交易品种选择、中低频策略开发、模糊模式识别、实战心得分享等,提供深入见解和解决方案。
五、策略源码
在策略开发中,参考经典CTA策略,如海龟交易法则、枢轴点、日间突破、布林带突破、区间突破等,进行改进和优化,为用户提供实际操作指南。
六、课件+书籍
除了线上资源,随身携带一本工具书尤为重要,包含课程完整课件、TB编程和公式开发的详细书籍,为策略开发提供理论支持和实践指导。
希望以上资料能为交易开拓者TB的新老用户带来启发与帮助,加速成长,提升交易技能。
专享策略 | 基于抄底摸顶思路的hadoop文本表示源码震荡策略
本月新策略,针对震荡行情,开发抄底摸顶震荡策略。
排除追涨杀跌的突破追高逻辑,CTA策略多以此为基准。
布林通道策略,价格突破上轨标记-1,突破下轨标记1。
结合布林通道指标,设置条件,绿点标记满足开空条件的点,但在趋势中信号价值极低。
摆动指标在趋势中有钝化现象,过滤趋势,设置区间描述,确认绿点的真突破。
策略过滤趋势,增强对震荡行情的适应性,抄底摸顶,减少趋势中的反手操作。
交易次数有限,逻辑基于抄底摸顶,避免频繁交易。
资金曲线显示,期间有大量0持仓,对应趋势行情。
策略作为现有趋势策略的补充,对代码结构进行调整,模块化指标计算、核心逻辑和进出场规则。
策略覆盖螺纹、豆一、白银、jsp mvc项目源码沪铝、AO、苹果、黄金、豆二、国际铜、棉花、欧线、玻璃等品种。
Vn.py版本,源码包含螺纹钢默认配置,无参数优化,可自行调优。
加入松鼠俱乐部,获取策略源码、培训视频、行情数据。包含原创策略、专属数据库、个性化工具和分享会资源。
策略仅供学习交流,实盘交易盈亏自负。内容受原创保护,禁止未经授权的转发和倒卖。
NVIDIA PTX ISA 学习笔记:Memory Consistency Model
探索NVIDIA PTX内存连贯性模型,它在PTX 7.7/8.0及更高版本中发挥核心作用,确保多线程环境下的内存操作一致性。这个模型通过一组公理约束内存操作,针对sm_及以后架构的程序设计,但不适用于纹理或表面访问。关键概念包括原子性、内存操作的改进dmi指标源码字节、地址、位置以及向量数据类型,以及它们在内存一致性中的角色。
8.1.1节揭示了一个重要的细节,即系统范围的原子性可能受到主机CPU通信的限制,深入理解请参阅CUDA指南。8.2节详述了内存指令操作的精细细节,包括内存操作的原子性,如对位向量数据类型.fx2的处理,其被视为独立的.f操作,元素顺序未做预设。
内存初始化遵循明确规则:每个字节在启动线程前默认从W0写入,变量有初始值时,使用该值;否则,视为未知常数。内存操作受状态空间和范围的独立影响,同时,强操作(strong operations)和代理栅栏同步是内存一致性管理的关键手段。
内存操作的范围定义了与之交互的线程集合,最小单位是计算单元(CTA)。代理(proxy)机制区分了不同的内存访问方式,需要通过代理栅栏进行同步来确保一致性。Morally strong操作构成了内存一致性模型的基础,它们确保了内存访问的有序性。
数据冲突和竞争源于重叠的内存操作,区分统一大小(完全重叠)和混合大小(部分重叠)的竞争类型。混合大小竞争对PTX程序的内存连贯性产生影响,但对只有统一大小竞争的程序行为保持一致。
原子操作的重叠属性,如A1的RMW先于A2,其顺序在内存一致性模型中至关重要。释放和获取模式影响其他线程,如内存操作和同步操作的顺序,分别影响程序前后的执行顺序。
内存操作的顺序规则复杂而细致,每个线程的操作序列遵循程序源码指令,而跨线程同步遵循因果性和通信顺序。公理确保写入顺序在一致性顺序中保持,如Fence-SC操作间的顺序约束。
通过API如CUDA流、事件和内核启动,CUDA API提供了内存同步和任务控制。这些同步机制确保了内存操作的可见性和任务完成的准确性。
总结来说,NVIDIA PTX内存连贯性模型通过严格的公理和顺序规则,为多核环境下的内存操作保驾护航,确保了代码的正确执行和预期行为。从因果性顺序到代理保留的顺序,从Load Buffering到Store Buffering,每一个细节都在维护着内存操作的秩序,避免数据竞争和矛盾冲突。深入理解这些原则,是编写高效、一致的并行程序的关键。
基于VN.PY的CTA策略入门心得
CTA策略简介与VN.PY入门指南
CTA策略,即商品交易顾问(Commodity Trading Advisor),是量化投资领域中重要组成部分,相较于股票量化策略,CTA策略能提供更稳定的收益与更低的风险。通过CTA策略的对冲性和高频性,市场波动趋于平滑,使得对冲做得好时,能无视大盘波动。
开发CTA策略时,选择适合的工具极为关键。市面上的可编程交易软件如TB或MC,价格不菲且语言小众,开发复杂。在比较了多种选项后,VN.PY成为了CTA策略开发的首选平台。本文将为读者介绍VN.PY的入门心得,旨在快速帮助大家了解VN.PY并上手开发,而不涉及策略的深度开发。
一、VN.PY安装
安装VN.PY主要依赖于VNStation,用户可在官网上下载最新版进行安装,版本为2.5.1。安装目录默认为C:\vnstudio。需要注意的是,VNStation自带Python包,建议使用VSCode作为开发IDE,且本地Python环境应保持干净,避免与其他环境混用。此外,VN.PY的源代码位于C:\vnstudio\Lib\site-packages\vnpy目录下,与GitHub上的源代码存在差异,建议使用vnpy目录下的源代码。
二、启动VNStation
启动VNStation前需创建策略代码目录,一般在C:\Users[用户名或Administrator]\strategies下。启动VNStation后,选择VN Trader Pro,配置底层接口为CTP或CTP测试,选择上层应用时,通常选择CTA自动交易模块与CTA回测研究模块。设置运行目录与策略代码目录保持一致。
三、CTA回测与策略
在使用CTA回测或CTA策略前,需要进行数据准备。VNTrader提供RQData数据或本地数据库服务。启动CTA回测功能,选择策略,输入本地代码与回测条件,点击开始回测。回测页面显示各项指标,如账户净值、盈亏分布等。回测过程中,注意理解初始化日的限制、平今仓手续费设置以及优化参数等。
四、策略调试与学习资源
策略调试可选择命令行或Jupyter notebook方式。通过VN Studio Prompt启动VN Station,运行命令行调试,或在Jupyter notebook中导入策略进行调试,修改相关参数,运行代码。学习资源方面,VN.PY公众号视频教程、官网项目文档、知乎频道、蜗牛博客与《Python量化交易》书籍均可作为深入学习的参考资料。
vn.py社区精选4 - 双均线策略深度解析
策略原理
双均线策略作为基础的CTA策略,通过短周期与长周期均线的金叉或死叉信号进行交易决策,捕捉市场趋势。策略包含两个关键周期的移动平均线,短周期反映近期市场走势,长周期代表较长时段的趋势。
源码分析
以vn.py项目中的双均线策略源码为例,解析策略实现逻辑和内部代码。
创建策略实例
所有vn.py框架中的CTA策略类(包括内置和自定义)皆基于CTA策略模板类(CtaTemplate)实现子类。模板类为策略设计提供了通用结构,如同汽车设计图指导汽车制造。CtaTemplate定义了交易函数和策略逻辑框架,使得快速实现策略成为可能。
策略初始化
在策略实例创建时,设置参数和变量。参数由外部指定,变量随策略状态变化动态更新。参数列表中包括策略名称、设置信息等,系统自动从配置文件中加载。变量列表用于界面显示,并在策略停止、收到回报或同步数据时保存状态。
构造函数__init__
构造函数接收CTA引擎、策略名称、标的代码和设置信息作为参数,其中引擎对象自动传入。创建BarGenerator实例用于生成分钟级别K线数据,ArrayManager用于缓存K线数据,支持指标计算。
状态变量初始化
状态变量初始化并非在构造函数中完成,而是在创建策略实例后通过图形界面的初始化按钮触发on_init函数,加载历史数据回放给策略初始化变量。
启动自动交易
点击启动策略按钮,自动调用on_start函数,将交易状态变量设置为True,启动交易流程。确保在界面刷新策略状态相关显示时调用put_event函数。
接收Tick推送
CTP接口每0.5秒推送Tick数据,由事件引擎分发到策略中。Tick数据通过BarGenerator的update_tick函数处理,合成1分钟K线数据,供策略使用。
核心交易逻辑
接收到K线数据后,将数据放入ArrayManager容器中,确保至少个数据后初始化完毕。调用talib库计算技术指标,判断金叉或死叉触发交易逻辑。交易指令由策略模板封装,在on_bar函数中直接调用。
委托回报处理
on_order函数处理委托状态变化,on_trader和on_stop_order函数处理成交回报和停止单回报。双均线策略在这些函数中通常无操作。
停止自动交易
每日交易结束后,通过停止按钮关闭自动交易,策略引擎调整交易状态变量,撤销所有活动委托,并保存变量状态。
CTA交易流程梳理
使用思维导图整理vn.py中策略实现与执行流程,包括从创建策略实例到停止自动交易的完整步骤。
《vn.py全实战进阶》课程介绍
该课程提供节内容,涵盖策略设计、参数回测和实盘自动交易的CTA量化业务流程,适合深入学习vn.py应用。
更多vn.py精华内容
关注公众号以获取更多深入分析和实践技巧。