分类
外汇交易技术分析

機器學習在演算法交易中的應用

如何将机器学习算法应用于股票市场?

只是添加一个有趣的更新:我最近遇到了这篇硕士论文:“一种新颖的算法交易框架,应用进化和机器学习进行投资组合优化”(2012 年)。与买入并持有相比,这是对不同机器学习方法的广泛审查。在将近 200 页之后,他们得出了基本结论:“在使用交易成本时,没有任何交易系统能够超越基准。” 不用说,这并不意味着它不能做(我没有花任何时间审查他们的方法以查看该方法的有效性),但它确实提供了更多支持无免费午餐的证据定理。

花一些时间学习各种 ML/AI 技术,找到一些市场数据并尝试实施其中的一些算法。每个算法都有其优点和缺点,但您可以将每种算法的预测组合成一个复合预测(类似于 NetFlix 奖的获奖者所做的)。

一些资源:
以下是您可能想要查看的一些资源:

  • Max Dama 的博客:http : //www.maxdama.com/search/label/Artificial%20Intelligence
  • AI股市论坛:http : //www.ai-stockmarketforum.com/
  • Weka 是一个包含 ML/AI 算法集合的数据挖掘工具:http : //www.cs.waikato.ac.nz/ml/weka/

The Chatter:
交易者的普遍共识是,人工智能是一门巫毒科学,你不能让计算机预测股票价格,如果你尝试这样做,你肯定会赔钱。尽管如此,同样的人会告诉你,在股票市场上赚钱的唯一方法就是建立和改进你自己的交易策略并密切遵循它(这实际上并不是一个坏主意)。

最小化过拟合:
正如我们之前听说的,AI 算法的一个基本问题是过拟合(又名数据挖掘偏差):给定一组数据,您的 AI 算法可能会找到与训练集特别相关的模式,但可能不会在测试集中是相关的。

  1. 使用验证集:它不会向算法提供反馈,但它允许您检测算法何时可能开始过度拟合(即,如果过度拟合,您可以停止训练)。
  2. 使用在线机器学习:它在很大程度上消除了回测的需要,非常适用于试图进行市场预测的算法。 :为您提供一种采用多种机器学习算法并结合它们的预测的方法。假设是各种算法可能在某些区域过度拟合数据,但它们预测的“正确”组合将具有更好的预测能力。

有趣的事实:
显然老鼠也可以交易!

1.首先是前面提到的:一些专注于处理实时数据集的统计方法。这意味着您知道您只观察了一个数据样本并且您想进行推断。因此,您必须处理样本内样本外问题、过度拟合等等. 从这个角度来看,数据挖掘更侧重于死数据集(即您可以看到几乎所有数据,您只有一个样本内问题)而不是统计学习。

$$\left\ X_ &=& F_\theta(X_n,\xi_)\\ <\hat\theta>_ &=& L(\pi(X_n),<\hat\theta>_n) \end\right.$$ 其中 $X$ 是要研究的(多维)状态空间(你在里面有你的解释变量和要预测的变量),$F$ 包含 $X$ 的动态,需要一些参数 $\theta$。$X$的随机性来自于创新$\xi$,即iid

统计学习的目标是建立一个方法$L$ith 作为输入$\pi$ 的$X$ 的部分观察$\pi$ 并逐步调整$\theta$ 的估计$\hat\theta$,以便我们知道所有这是 $X$ 上需要的。

如果您考虑使用统计学习来查找线性回归的参数,我们可以像这样对状态空间建模: $$\underbrace<\left( \begin y_\\ x_ \end\right)>_ = \left[ \begin a & b & 1\\ 1 機器學習在演算法交易中的應用 & 0 & 0\\ \ end\right] \cdot \underbrace<\left( \begin x_\\1\\ \epsilon_ \end\right)>_< \xi_>$$ 从而允许在任何 $n$ 处观察 $(y,x)_n$;这里 $\theta=(a,b)$。

然后你需要找到一种方法来使用我们的观察逐步构建 $\theta$ 的估计量。为什么不在 $y$ 和回归之间的 L2 距离上进行梯度下降: $$C(機器學習在演算法交易中的應用 \hat a, \hat b)_n = \sum_ (y_k - (\hat a \, x_k + \hat b))機器學習在演算法交易中的應用 ^2$$

这里 $\gamma$ 是一个加权方案。

回到我们最初的通用问题:我们需要一些应用数学来知道 $(X,\hat\theta)$ 中的耦合动力系统何时收敛,并且我们需要知道如何构建向原始收敛的估计方案 $L$ $\theta$。

  • 在第一个方面(耦合系统的收敛),您有像Michel Benaïm 和 Morris W. Hirsch 在 Ann 上发表的论文,例如具有恒定步长的随机逼近算法,其平均值是合作的。应用程序 可能。第 9 卷,第 1 期(1999 年),216-241。
  • 在第二个(研究 $\hat\theta$ 到 $\theta$ 的收敛性)上,你有这样的论文/结果:A Stochastic Approximation Method,Herbert Robbins 和 Sutton Monro,在 Ann。数学。国家主义者。第 22 卷,第 3 期(1951 年),400-407。

2.用来证明统计学习方法效率的结果可以用来证明交易算法的效率。要看到再次阅读允许编写统计学习的耦合动力系统就足够了: $$\left\ M_ &=& F_\rho(M_n,\ xi_)\\ <\hat\rho>_ &=& L(\pi(M_n),<\hat\rho>_n) \end\right.$$

现在$M$ 是市场变量,$\rho$ 是基础盈亏,$L$ 是交易策略。只需通过最大化 PnL 来替换最小化标准

统计学习工具可用于构建迭代交易策略(大多数是迭代的)并证明其效率

简短而残酷的回答是:你没有。首先,因为机器学习和统计不是你在一两年内就能掌握的。 我推荐的学习任何重要的时间范围是 10 年。ML 不是赚钱的秘诀,而是观察现实的另一种方式。其次,因为任何优秀的统计学家都知道理解数据和问题域是工作的 80%。这就是为什么你有统计学家专注于物理数据分析、基因组学、sabermetrics 等。为了记录,上面引用的 ESL 的合著者 Jerome Friedman 是一名物理学家,仍然在SLAC担任礼貌职位。

5篇关于强化学习在金融领域中应用的论文推荐

Reinforcement learning in market games(arxiv 0710.0114)

Edward W. Piotrowski, Jan Sladkowski, Anna Szczypinska

金融市场投资就像许多的多人游戏一样——必须与其他代理人互动以实现自己目标。其中就包括与在市场上的活动直接相关的因素,和影响人类决策及其作为投资者表现的其他方面。如果区分所有子博弈通常是超出希望和资源消耗的。在这篇论文中研究了投资者如何面对许多不同的选择、收集信息并在不了解游戏的完整结构的情况下做出决策。论文将强化学习方法应用于市场信息理论模型 (ITMM)。尝试区分第 i 个代理的一类博弈和可能的动作(策略)。任何代理都将整个游戏类划分为她/他认为子类,因此对给定的子类采用相同的策略。划分标准基于利润和成本分析。类比类和策略通过学习过程在各个阶段更新。

Dreaming machine learning: Lipschitz extensions for reinforcement learning on financial markets(arXiv 1909.03278)

J. M. Calabuig, H. Falciani, E. A. Sánchez-Pérez

论文考虑了一种用于在金融市场框架内构建新的强化学习模型的准度量拓扑结构。它基于在度量空间中定义的奖励函数的 Lipschitz 機器學習在演算法交易中的應用 型扩展。具体来说,McShane 和 Whitney 被用于奖励函数,该函数由给定时间投资决策产生的收益的总评估定义。将度量定义为欧几里得距离和角度度量分量的线性组合。从时间间隔开始的所有关于系统演化的信息都被用来支持奖励函数的扩展,并且通过添加一些人为产生的状态来丰富这个数据集。论文中说到,这种方法的主要新颖之处在于产生了更多状态(论文中称之为“dreams”)以丰富学习的方式。使用代表金融市场演变的动态系统的一些已知状态,使用现有的技术可以通过插入真实状态和引入一些随机变量来模拟新状态。这些新状态用于为学习算法提供训练数据,该算法的目的是通过遵循典型的强化学习方案来改进投资策略。

Automatic Financial Trading Agent for Low-risk Portfolio Management using Deep Reinforcement Learning(arXiv 1909.03278)

自主交易代理是人工智能解决资本市场投资组合管理问题最活跃的研究领域之一。投资组合管理问题的两个主要目标是最大化利润和抑制风险。大多数解决这个问题的方法只考虑最大化回报。但是这篇论文提出了一种基于深度强化学习的交易代理,它在管理投资组合时,不仅考虑利润最大化,还考虑风险约束。论文中还提出了一个新的目标策略,让交易代理学会更偏向低风险的行动。这个新的目标策略可以通过超参数来调整最优行为的贪心程度来降低行动的风险。论文所提出的交易代理通过加密货币市场的数据来验证性能,因为加密货币市场是测试交易代理的最佳试验场,因为每分钟积累的数据量巨大,市场波动性极大。作为实验结果,在测试期间,代理实现了 1800% 的回报,并提供了现有方法中风险最小的投资策略。并且在另一个实验表明,即使市场波动很大或训练周期很短,交易的代理也能保持稳健的泛化性能。

Application of deep reinforcement 機器學習在演算法交易中的應用 learning for Indian stock 機器學習在演算法交易中的應用 trading automation(arXiv 2106.16088)

Author : Supriya Bajpai

在股票交易中,特征提取和交易策略设计是利用机器学习技术实现长期收益的两项重要任务。通过获取交易信号来设计交易策略可以实现交易收益最大化。论文中将深度强化学习理论应用于印度市场的股票交易策略和投资决策。利用三个经典的深度强化学习模型Deep Q-Network、Double Deep Q-Network和Dueling Double Deep 機器學習在演算法交易中的應用 Q-Network对10个印度股票数据集进行了系统的实验。并对模型的性能进行了评价和比较

Robo-Advising: Enhancing Investment with Inverse Optimization and Deep ReinforcementLearning(arXiv 2105.09264)

Author : Haoran Wang, Shi Yu

机器学习(ML)已被金融行业视为一种强大的工具,在投资管理等各个领域都有显著的应用。论文提出了一个全周期数据驱动的投资机器人咨询框架,由两个ML代理组成。第一代理是一种逆投资组合优化代理,它利用在线逆优化方法直接从投资者的历史配置数据中推断投资者的风险偏好和预期收益。第二个是深度强化学习(deep reinforcement learning, RL)代理,它将所推断的预期收益序列聚合在一起,形成一个新的多周期均值-方差投资组合优化问题,这样就可以使用深度强化学习方法进行求解。论文中的投资计划应用于2016年4月1日至2021年2月1日的实际市场数据,表现持续优于代表总体市场最优配置的标准普尔500基准投资组合。这种优异表现可能归因于多周期规划(相对于单周期规划)和数据驱动的RL方法(相对于经典估计方法)。

量化交易採用人工智能與機器學習架構

在這樣的框架裡,策略研發者透過研究與觀察,以自身經驗搭配技術分析/商品特性(歷史資料)為主軸,希冀藉由程式交易運算平台所提供的回測與最佳化工具找到最穩健的策略與參數。這樣的策略設計理念多半來自於一個信念 – “ 歷史總是重複發生 ” 。 並透過各種資金管理或投資組合理論來控制整體風險。一般而言,如此的架構設計,主要是將我們自身的直覺與經驗作法由手動的步驟透過計算機所提供的工具轉化成量化與自動化的步驟。

  1. Representation : 表示、數據採集、模型建立、策略網路

這一層主要的工作在大數據的收集,模型的建立(特徵工程),腳色相對於傳統量化交易分層中的 ”策略” ,但在這裡使用”策略”並不算是一個好的說法,一個完整的策略其實包含買賣訊號停利停損等等”動作”,在機器學習中,這一層的腳色比較偏向中性,因此用”感知器、溫度計、狀態”來描述他可能比使用策略這個名詞更加貼近。原則上這一層(大數據)越大越好,規模決定了整體的強度。

  1. Evaluation : 評價函數、價值網路
  1. Optimization: 優化、AI演算法 (人工智能的核心)
  1. 建立均線買賣模型,MA(X),如果收盤價如果站上MA(X),則買進,反之則賣出
  2. 透過最佳化(由程式交易平台提供),令X=1~100,評價指標NetProfit,尋找近N年最佳參數,例如 X=10

然後將 MA(10) 模型掛入資金管理演算法(一般只有虧損XX%之後下架)

應用1: 讓模型擁有自動調整參數的功能(高相關性模型)

  1. 建立模型 MA(1) ~ MA(100)
  2. 建立評價函數 NetProfit (或其他如PF/DD/SHarpeRatio/SQN)
  3. 建立AI演算法範例: 根據評價結果,排序第一名者可分配到資金,每次交易後均重新評價(動態)

應用2: 機器學習在演算法交易中的應用 自動識別市場最適合的行情模式(低相關性模型)

  1. 建立高差異型模型並套用在數十個品種上: 趨勢型態策略區間盤整型態策略 多頭型策略 空頭型策略 當沖型策略 高亂度型(逆勢)策略
  2. 建立評價函數 (勝率/DD/PF/SQN或其他)
  3. 建立 AI演算法 範例: 根據評價結果,給予相應配資
    1. 演算法範例1: 評價前五名可以均分(或按照設計比例)可用配資
    2. 演算法範例2: 根據評價結果 1分者可以分配1%資金曝險,2分者2%,類推,交易中隨時評分(動態)

    機器演算法與傳統量化交易最大的優點與區別在於,當可參考的模型庫(大數據)越大,資金越有機會往高效率的位置分配,在思考上亦有更大的彈性與應用。以應用2為例,在交易中隨時透過評價函數自我校正,” 資金曝險 ” 隨時進行動態地運算與修正,不僅更貼近市場活性變化,困擾傳統量化交易的加碼減碼停損上架下架等問題亦不需要另行設計便可直接擁有,而模型只需要專注在判斷狀態,更沒有傳統量化模型過度優化的問題。與傳統投資組合理論方法多為一年(單期)才做一次重新配置相比更顯得彈性許多。

    机器学习在金融科技领域的主要优势

    金融科技中机器学习的最大优势

    机器学习算法在预测金融趋势方面发挥着非常重要的作用。金融科技公司可以使用 ML 算法来预测市场风险、识别未来的金融机会、减少欺诈等。公司可以根据金融交互、贷款偿还、公司股票、客户交互等海量数据训练他们的机器学习模型。这确保他们可以预测与贷款、保险、股票等相关的未来趋势。公司还可以在预警系统中使用这些 ML 算法,可以预测风险情景、金融异常、投资组合的变化等。另一个应用 ML 是预测消费者趋势对于金融科技公司。在这里,消费者分析用于使用消费者数据和预测建模来了解消费者行为。

    2. 算法交易

    如今,算法交易变得越来越流行。事实上,全球大约 70% 的日常交易是算法交易,它是机器学习的一种应用。但是什么是算法阅读,它与正常交易有何不同?算法交易涉及执行交易订单,同时牢记使用机器学习算法与金融公式结合创建的预编程交易指令。算法交易不涉及人类的情绪或先入为主的观念,因为算法是自动的,并牢记不断变化的市场变量,如价格、时机、交易量等。 算法交易的另一个优点是人类不需要监控市场始终如一,而这在手动交易中是必须的。所有这些因素结合起来,从算法交易中创造了人类交易者无法实现的更大利润。

    3. 高级客户支持

    机器学习在为所有客户提供高级客户支持方面也非常有价值。现在,客户无需排长队来回答一些基本问题。高级客户支持的一个重要例子是聊天机器人。这些聊天机器人可以为他们的问题提供即时支持和解决方案。当不需要代理解决基本问题时,这为金融科技公司及其客户节省了时间。例如,美国银行的聊天机器人 Erica 可以轻松地向客户提供资产负债表、过去的交易、投资组合详细信息等。高级客户支持的另一个方面是为客户提供个性化体验。这很难手动实现,因为一家金融科技公司可能有成千上万的客户,但机器学习使它变得更容易。机器学习算法可以分析客户的原始历史、交易等,并预测他们想要什么服务或提供先发制人的建议和建议。

    4. 欺诈预防和检测

    金融科技公司欺诈的可能性很高。随着技术创新的增加,情况尤其如此,因为有更多机会欺骗技术和进行欺诈性交易。在这种情况下,基于机器学习的欺诈检测和预防方法与传统方法一样非常重要。基于 ML 的方法使用 ML 算法管理异常的实时处理和自动检测。最常见的例子是信用卡欺诈和投资欺诈。金融科技公司可以使用 ML 算法捕捉信用卡历史和金融购买中的异常情况,并冻结账户以尽可能减少损失。还有机器学习算法可以分析交易数据中的任何异常模式(如果发生),并在发生投资欺诈时捕获。

    5. 高级承保服务

    机器学习可以为金融科技公司提供很多好处,我们在本文中只触及了基础知识。事实上,ML 可用于改善服务的每一个事实,包括运营、安全、营销、客户体验、销售、预测等。 由于这仍然是一项发展中的技术,因此金融和技术如何融合是没有限制的并在未来为他们的客户创造更好的体验。