ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

阿布量化交易系统(ABu)技术指南:从择时策略开发到 UMP 裁判决策的完整实战体系

阿布量化交易系统(ABu)技术指南:从择时策略开发到 UMP 裁判决策的完整实战体系 金融科技机器学习数据分析【免费下载链接】abu阿布量化交易系统(股票期权期货比特币机器学习) 基于python的开源量化交易量化投资架构项目地址https://gitcode.com/gh_mirrors/ab/abu点击查看免费下载阿布量化ABu是一套基于 Python 的开源量化交易与量化投资架构覆盖股票美股、A 股、港股、期货、期权、比特币与莱特币等投资市场其核心目标是「用一句话可解释的智能策略」——借助机器学习自动优化策略主动分析策略生成的订单行为以拦截亏损交易。本文以仓库英文主文档 readme-en.md 为骨架结合 abupy 源码实现系统讲解阿布量化的环境部署、十九讲实战教程体系择时、选股、回测、度量、参数寻优、多市场回测、机器学习、UMP 裁判与数据源读者可据此从零搭建量化环境并掌握每个模块对应的源码入口与底层实现机制。项目愿景迈向自动进化的量化策略英文主文档开篇即点明 ABu 的设计哲学Abu seeks the intelligent-strategy which be able to explained by of a word阿布寻求一种可以用一句话解释的智能策略。具体表现为三个层次策略自动改进ABu 帮助用户自动改进策略主动分析策略生成订单的行为提前拦截可能导致亏损的交易从手工到全自动当前阶段仍是手工编写代码但 ABu 的设计目标是在未来全自动运行整个工作流程与策略本身种子策略自成长用户只需提供若干种子策略seed strategy在此基础上让计算机持续自我学习、自我成长构建出能够随时间序列数据自动调节参数的新策略。仓库导航与文档索引ABu 仓库将源码、教程、示例代码分目录组织对应关系如下来源readme-en.md内容路径阿布量化交易系统源码abupy阿布量化使用教程30 个 Notebookabupy_lecture阿布量化非编程界面操作abupy_ui《量化交易之路》示例代码ipython 与 python《机器学习之路》示例代码外部仓库 abu_ml从 abupy/init.py 可以看到顶层包一次性导入并聚合了 20 个功能子包CoreBu核心环境、FactorBuyBu买入因子、FactorSellBu卖出因子、AlphaBu择时/选股主控、BetaBu仓位管理、UmpBu裁判系统、MLBu机器学习、DLBu深度学习、MetricsBu回测度量、PickStockBu选股、SlippageBu滑点、TLineBu趋势线分析、MarketBu市场数据、SimilarBu相关性分析、TradeBu交易执行、IndicatorBu技术指标、WidgetBu界面组件等包版本号为0.4.0。这意味着import abupy后即可直接访问abupy、abupy.env、abupy.ABuPickStockMaster等全部上层 API。核心特性与设计目标英文文档列出的两大特性与两大设计目标如下核心特性使用多种机器学习技术智能优化策略源码佐证MLBu/ABuMLCreater.py 内置 bagging、adaboost、随机森林、XGBoost、决策树、KNN、逻辑回归等十余种模型的网格搜索最优实现如bagging_classifier_best、xgb_regressor_best、random_forest_classifier_best在实盘中指导策略进行交易提高策略的实盘效果战胜市场。工程设计目标分离基础策略与策略优化监督模块策略因子与 UmpBu 裁判监督模块解耦提高灵活度和适配性。支持的投资市场美股、A 股、港股期货市场、期权市场比特币BTC、莱特币LTC。底层市场枚举定义在 CoreBu/ABuEnv.py 的EMarketTargetType中E_MARKET_TARGET_US美股、E_MARKET_TARGET_CNA 股、E_MARKET_TARGET_HK港股、E_MARKET_TARGET_FUTURES_CN国内期货、E_MARKET_TARGET_FUTURES_GLOBAL国际期货、E_MARKET_TARGET_OPTIONS_US美股期权、E_MARKET_TARGET_TC数字货币。仓库 RomDataBu 内置了上述市场的样例行情数据包括stock_code_US.csv、stock_code_CN.csv、stock_code_HK.csv、futures_cn.csv、futures_gb.csv、symbols_db.db等。安装、部署与验证英文文档给出的安装流程非常简洁分两步1. 环境部署推荐使用 Anaconda 部署 Python 环境完整部署流程含依赖安装、数据沙盒配置详见仓库内对应教程0-abupy量化环境部署.ipynb)。2. 安装验证安装完成后执行以下代码验证环境是否就绪import abupyabupy/__init__.py在导入时会完成所有子模块的注册与全局环境初始化见 CoreBu/ABuEnv.py。需要说明的环境事实默认数据缓存目录为~/abug_project_root内置示例数据路径为项目内 RomDataBu/csvg_project_kl_df_data_example若用户主目录含中文字符Windows 场景缓存路径会自动切换到 abupy 源码根目录以避免 pandas 读写 csv/hdf5 出错。非编程界面操作可选若不想编写代码abupy_ui 提供基于 Notebook 的可视化界面操作涵盖历史回测、阻力位支撑位分析、跳空缺口筛选、趋势敏感速度对比、位移路程比分析、线性拟合、黄金分割、价格通道、相关性分析、涨跌幅分析与股票基本信息查询等 11 项操作详见 abupy_ui/readme.md。其中历史回测界面的操作流程如下十九讲实战教程体系核心内容英文文档的主体是 19 讲量化实战教程索引每一讲对应 abupy_lecture 下的一个 Notebook构成了从「策略开发 → 优化 → 度量 → 多市场回测 → 机器学习 → UMP 裁判 → 数据源」的完整闭环。以下逐讲展开并结合源码补充底层实现要点。第 1 讲择时策略的开发择时策略决定什么时候买入投资品回测告诉我们这种策略在历史数据中的模拟收益如何。三个步骤买入择时因子的编写分解模式n_folds一步一步对策略进行回测卖出择时因子的实现。源码层面买入因子统一继承自 FactorBuyBu/ABuFactorBuyBase.py 中的AbuFactorBuyBase提供fit_day/fit_month决策与make_buy_order下单内置实现包括 ABuFactorBuyBreak突破、ABuFactorBuyTrend趋势、ABuFactorBuyWD星期、ABuFactorBuyDM动态均线等卖出因子继承自 FactorSellBu/ABuFactorSellBase.py。组合调用入口是 CoreBu/ABu.py 的abupy.run_loop_back()。第 2 讲择时策略的优化通过止盈止损保护策略产生的利润控制风险基本止盈止损策略风险控制止损策略利润保护止盈策略。对应卖出因子类族位于 FactorSellBuAbuFactorAtrNStopATR 波动止损止盈、AbuFactorPreAtrNStop前置 ATR 止损、AbuFactorCloseAtrNStop收盘 ATR 止损、AbuFactorSellNDay持 N 天卖出、AbuFactorSellBreak跌破卖出、AbuFactorSellDM动态卖出。第 3 讲滑点策略与交易手续费考虑应用交易策略时产生的成交价格偏差及手续费滑点买入卖出价格确定及策略实现交易手续费的计算以及自定义手续费。滑点模块位于 SlippageBu买入滑点继承AbuSlippageBuyBase如均值滑点AbuSlippageBuyMean卖出滑点继承AbuSlippageSellBase如AbuSlippageSellMean内置涨跌停保护装饰器slippage_limit_up/slippage_limit_down。手续费计算位于 TradeBu/ABuCommission.py内置美股calc_commission_us、A 股calc_commission_cn、港股calc_commission_hk、国内期货calc_commission_futures_cn、全球期货calc_commission_futures_global、美股期权calc_options_us等实现支持通过commission_dict自定义。回测中usTSLA特斯拉的历史成交与手续费明细示例如下typedatesymbolcommissionbuy20150423usTSLA8.22buy20150428usTSLA7.53sell20150622usTSLA8.22buy20150624usTSLA7.53sell20150706usTSLA7.53sell20150708usTSLA7.53buy20151230usTSLA7.22sell20160105usTSLA7.22buy20160315usTSLA5.57sell20160429usTSLA5.57第 4 讲多支股票择时回测与仓位管理针对多支股票实现择时策略通过仓位管理策略控制风险多支股票使用相同的因子进行择时自定义仓位管理策略的实现多支股票使用不同的因子进行择时使用并行来提升择时运行效率。仓位管理模块位于 BetaBu内置AbuAtrPositionATR 仓位、AbuKellyPosition凯利公式仓位、AbuPtPosition百分比仓位自定义仓位需继承AbuPositionBase。并行加速方面abupy.run_loop_back()支持n_process_kl与n_process_pick参数TradeBu/ABuKLManager.py 的batch_get_pick_time_kl_pd默认使用ABuEnv.g_cpu_cnt个进程并行抓取行情CPU 核数由 CoreBu/ABuEnv.py 通过 psutil 自动探测失败时兜底为 4。第 5 讲选股策略的开发一个好的策略需要一个好的标的选股因子的编写多个选股因子并行执行使用并行来提升选股运行效率。选股模块位于 PickStockBu内置AbuPickStockPriceMinMax价格区间、AbuPickRegressAngMinMax回归角度、AbuPickSimilarNTop相似度 TopN等执行入口为 AlphaBu/ABuPickStockMaster.py 的AbuPickStockMaster其在run_loop_back(stock_picks[...])中通过n_process_pick支持选股并行。第 6 讲回测结果的度量正确的度量引领着正确的前进方向度量的基本使用方法度量的可视化扩展自定义度量类。度量模块位于 MetricsBu核心类AbuMetricsBase计算收益、最大回撤、夏普比率、胜率等指标AbuMetrics为股票度量实现另有AbuMetricsFutures期货、AbuMetricsTC数字货币等扩展自定义度量类继承AbuMetricsBase即可接入回测结果AbuResultTuple。第 7 讲寻找策略最优参数和评分通过定制的评分机制寻找一个策略最合理的参数比如应该考虑多少天的均线参数取值范围Grid Search 寻找最优参数度量结果的评分不同权重的评分自定义评分类的实现。参数寻优模块位于 MetricsBu/ABuGridSearch.py 与 MetricsBu/ABuGridHelper.py评分体系在 MetricsBu/ABuMetricsScore.py机器学习侧的网格搜索封装见 MLBu/ABuMLGrid.pygrid_search_init_kwargs、grid_search_mul_init_kwargs等支持n_jobs-1全核并行。第 8 讲A 股市场的回测A 股市场的回测示例涨跌停的特殊处理源码佐证SlippageBu 中slippage_limit_up/slippage_limit_down装饰器对涨跌停价格进行保护处理对多组交易结果进行分析。第 9 讲港股市场的回测港股市场的回测示例优化策略提高系统的稳定性将优化策略的「策略」作为类装饰器进行封装源码佐证CheckBu 提供参数校验装饰器体系如ABuChecker中的check_type、check_bound、check_subset等可复用于策略封装。第 10 讲比特币、莱特币的回测比特币、莱特币的走势数据分析比特币、莱特币的走势可视化分析比特币、莱特币市场的回测。英文文档还给出了回测中风险收益分布的示例统计loss10 为最差 10% 的收益区间top10 为最好 10% 的收益区间bitcoin loss10[-26.895, -3.284]top10(4.182, 38.786]bitcoin 近 1 年风险降低loss10[-16.273, -2.783]top10(3.948, 15.22]litecoin loss10[-28.48, -4.1]top10(4.405, 41.083]litecoin 近 1 年风险降低loss10[-22.823, -3.229]top10(5.0606, 37.505]。第 11 讲期货市场的回测期货市场的特点看涨合约的回测看跌合约的回测位移路程比优化策略源码佐证TLineBu/ABuTL.py 提供shift_distance位移计算TLineBu/ABuTLExecute.py 的shift_distance/calc_kl_speed支撑位移路程比分析。第 12 讲机器学习与比特币示例如何在投资品的量化交易中正确使用机器学习技术比特币特征的提取源码佐证MLBu/ABuMLPd.py 中ABuMLPd系列类封装了比特币特征 DataFrame 的构造与make_xyabu 中内置机器学习模块的使用MLBu/ABuML.py 的AbuML统一封装 fit/predict/交叉验证/ROC/混淆矩阵/学习曲线等能力ABuMLCreater提供十余种模型族的网格寻优测试集的验证与非均衡技术继承AbuMLPd对数据处理进行封装。第 13 讲量化技术分析应用技术分析三大假设市场行为涵盖一切价格沿趋势移动历史会重演。三个实践步骤阻力线、支撑线自动绘制源码佐证TLineBu/ABuTLine.py 的show_support_resistance_trend/show_resistance_trend/show_support_trend自动绘制支撑阻力线跳空技术分析TLineBu/ABuTLJump.py 的calc_jump/calc_jump_line传统技术指标技术分析IndicatorBu 内置 MA、MACD、RSI、BOLL、ATR 等指标计算与可视化如calc_ma_from_prices、plot_macd、plot_rsi、plot_boll、atr14等。第 14 讲量化相关性分析应用相似的投资品数据的背后往往是相似行为模式的投资人群相关相似度的度量SimilarBu/ABuCorrcoef.py 支持皮尔逊、斯皮尔曼等多种相关系数及滚动相关性距离的度量与相似度相似相关接口的应用SimilarBu/ABuSimilar.py 的find_similar_with_cnt/find_similar_with_folds/find_similar_with_se支持本地缓存与网络计算两种模式自然相关性。第 15 讲量化交易和搜索引擎搜索策略生成的失败交易由裁判拦截住冲动的交易者切分训练集交易的回测对交易进行人工分析主裁系统原理角度主裁UmpBu/ABuUmpMainDeg.py赋予宏观上合理的解释最优分类簇筛选。第 16 讲UMP 主裁Main Referee系统UMP 主裁在训练集中通过高斯混合模型GMM对失败交易聚类学习跳空主裁gap main-referee价格主裁price main-referee波动主裁fluctuation main-referee验证主裁是否有效工作组织多个裁判形成更复杂的综合决策让裁判学会互相配合做出最正确判断。实现细节可从 UmpBu/ABuUmpMainBase.py 看到主裁使用 GMM 聚类默认分类数量范围K_DEFAULT_NCS_RANG slice(40, 85, 1)失败率阈值默认g_brust_min_default (0, 0, 0.65)即以分类簇失败率大于 0.65 的簇作为主裁学习目标训练/预测通过AbuUmpManagerUmpBu/ABuUmpManager.py统一管理。内置主裁实现包括ABuUmpMainDeg角度、ABuUmpMainJump跳空、ABuUmpMainPrice价格、ABuUmpMainWave波动、ABuUmpMainMul综合、ABuUmpMainFull全视角。第 17 讲UMP 边裁Edge Referee系统跳空边裁gap edge-referee价格边裁price edge-referee波动边裁fluctuation edge-referee综合边裁comprehensive edge-referee验证边裁是否有效工作开启边裁模式。边裁在实盘/回测中拦截失败概率高的信号对应实现位于 UmpBu 的ABuUmpEdgeBase、ABuUmpEdgeDeg、ABuUmpEdgeJump、ABuUmpEdgePrice、ABuUmpEdgeWave、ABuUmpEdgeMul、ABuUmpEdgeFull其make_ump_block_decision(ml_feature_dict)决策接口与买入/卖出因子解耦见 FactorBuyBu/ABuFactorBuyBase.py。第 18 讲自定义裁判系统从不同视角训练新的主裁从不同视角训练新的边裁添加一个新的视角来记录比赛record backtesting feature即回测特征采集使用新视角的主裁使用新视角的边裁。该讲并给出了 UMP 模块的设计目标无需硬编码策略no need to hard-code strategy无需手动设置阈值no need to manually set the threshold分离策略与优化监督模块提高灵活性和适配性发现隐藏在策略中的问题自动学习新的交易数据。特征采集与特征字典构造的底层实现在 TradeBu/ABuMLFeature.pyABuMLFeature系列类买入特征、卖出特征通过support_buy_feature/support_sell_feature声明用户可通过append_user_feature添加自定义视角特征。第 19 讲数据源abu 支持股票、期货、数字货币等多种金融投资品的行情和交易并具有高度可定制性数据模式的切换E_MARKET_DATA_FETCH_MODE网络实时抓取/本地缓存见 CoreBu/ABuEnv.py数据存储的切换EStoreAbucsv/hdf5/sqlite 等见 CoreBu/ABuStore.py数据源的切换g_market_source全局变量全市场数据的更新abupy_ui 数据下载界面操作或abu.run_kl_update()文档明确推荐先更新数据再回测以提升效率接入外部数据源股票数据源接入外部数据源期货数据源接入外部数据源比特币、莱特币数据源。从源码看CoreBu/ABuEnv.py 定义了数据源枚举EMarketSourceType百度默认g_market_source E_MARKET_SOURCE_bd、腾讯、网易、新浪美股以及新浪国内/国际期货、火币数字货币BTC/LTC等。对应的解析器实现在 MarketBu/ABuDataParser.pyBDParser、TXParser、NTParser、SNUSParser、SNFuturesParser、SNFuturesGBParser、HBTCParser数据抓取实现位于 MarketBu/ABuDataFeed.py网络请求默认超时设置为连接 10 秒、接收 60 秒。若需接入私有数据源可设置ABuEnv.g_private_data_source。实战总入口run_loop_back 与目录结构速查除教程外仓库还内置了两类可直接运行的示例python 目录c1.py~c10.py、extA.py~extC.py等按章节组织的可执行示例脚本ipython 目录与《量化交易之路》章节对应的 Notebook含环境部署、NumPy/pandas 工具、可视化、数学、量化系统开发与机器学习等专题。所有回测的最终统一入口是 CoreBu/ABu.py 的abupy.run_loop_back()其核心参数如下源码 docstring 原文要点read_cash初始化资金额度例如1000000buy_factors买入因子策略序列例如[{xd: 60, class: AbuFactorBuyBreak}, {xd: 42, class: AbuFactorBuyBreak}]sell_factors卖出因子序列例如[{stop_loss_n: 0.5, stop_win_n: 3.0, class: AbuFactorAtrNStop}, {pre_atr_n: 1.0, class: AbuFactorPreAtrNStop}, {close_atr_n: 1.5, class: AbuFactorCloseAtrNStop}]stock_picks选股因子序列例如[{class: AbuPickRegressAngMinMax, threshold_ang_min: 0.0, reversed: False}, {class: AbuPickStockPriceMinMax, threshold_price_min: 50.0, reversed: False}]choice_symbols备选股票池默认None时按abupy.env.g_market_target的市场类型做全市场回测也可显式传入如[usNOAH, usSFUN, usBIDU, usAAPL, usGOOG, ...]n_folds分解模式折数默认 2commission_dict自定义手续费配置n_process_kl/n_process_pick行情与选股的并行进程数。许可证阿布量化遵循 GPL 开源许可证。本文所述内容均基于仓库 readme-en.md 与 abupy 源码更多中文教程细节可继续阅读 abupy_lecture 下的对应章节 Notebook。赞分享金融科技机器学习数据分析【免费下载链接】abu阿布量化交易系统(股票期权期货比特币机器学习) 基于python的开源量化交易量化投资架构项目地址https://gitcode.com/gh_mirrors/ab/abu点击查看免费下载相关推荐vn.py量化交易框架进阶指南从策略开发到系统部署的完整实战vn.py量化交易框架进阶指南从策略开发到系统部署的完整实战 vn.py作为基于Python的开源量化交易框架为专业交易员提供了从策略研发到实盘交易的完整解金融科技后端机器学习10个实战策略避坑指南Python量化交易从入门到精通10个实战策略避坑指南Python量化交易从入门到精通 Python量化交易 是结合编程与金融市场的创新领域通过代码实现自动化交易策略帮助投资者在复杂市金融科技数据分析TYCyclePagerView布局详解三种TransformLayoutType的实战应用指南 TYCyclePagerView布局详解三种TransformLayoutType的实战应用指南 想要为你的iOS应用添加炫酷的轮播图效果吗TYCyc上一篇OctoPrint打印过程模拟功能提前发现潜在问题下一篇如何快速配置OctoPrint以太网连接新手完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表