分类
交易平台

量化投资学习

06-02 1825

强化学习在量化投资中应用(理论简介)

参考文献 1. 周国平.《机器学习》 2. Moody, John E., et al. "Reinforcement Learning for Trading Systems and Portfolios." 3. Jian Li, Laiwan Chan., “Adjustment Reinforcement Learning for Risk-averse Asset Allocation” 4. Neuneier.,” Optimal Asset Allocation using Adaptive Dynamic Programming”

量化投资学习路线图 - 软件篇

回测分析通过历史数据测试新策略的历史表现,分析一些基本的指标,比如Sharpe Ratio、回撤、杠杆、滑点等等。同时,回测也是策略参数选择的重要手段。显然,只有策略回测各方面指标达标后,才会考虑实盘交易。

实盘交易 负责连接实际的交易商API,提交订单,并发执行数据反馈给策略进行处理;另外负责连接数据源(很多时候也是通过交易商API),把实时数据推送给策略进行处理;负责管理仓位信息。

复盘分析 量化投资学习 量化投资学习 负责收集实盘交易过程中的各类日志,以备后续复盘分析之用。比如收集提交的订单数据和实际执行的订单数据。同时,这部分内容也会关系到如何Debug实盘交易系统,寻找问题根源。

从设计模式讲,量化交易软件可以分成两种类型: 事件驱动 和 向量驱动 。不过关于组织计算,其实还有一类非常优雅但是在量化开源领域比较小众的框架: 计算图 (Computation Graph)。

事件驱动 (Event Driven)

事件驱动框架的计算是逐渐进行的,代码的核心是一个事件循环和一系列事件,用户需要实现不同的“回调函数”(Callback),比如: on_order(order) 用来处理订单事件, on_tick(tick) 用来处理刚刚到来的tick数据等等。

Vnpy 是这里唯一一个国产框架,目前Github已经接近17k Star,做的非常成功。我大概是几年前开始关注这个框架的,看着他一点点重构,发展到现在的规模。社区也在欣欣向荣的发展。这个框架,最开始的时候主要以连接多个交易平台为目的,是实盘交易导向的,回测功能是后面慢慢发展起来的,功能比较有限。但是由于代码量不大,如果有时间自己拓展也是一个不错的选择。

  • 推荐指数:3 星
  • 回测类型:Event driven
  • 回测速度:慢
  • 实盘模拟:中
  • 实盘支持:是
  • 社区建设:非常好
  • 组件灵活:好
  • 是否开源:是
  • 文档:好
  • 语言:Python3

Backtrader

Backtrader, 是一款纯Python的回测+实盘框架。从软件工程的角度,这个项目非常值得学习。这个框架的代码风格非常 Pythonic,也值得借鉴和学习。作者是一个很严谨的德国人,从他的代码审查和社区管理可见一斑。backtrader允许您专注于编写可重复使用的交易策略,指标和分析器,而不必花时间构建基础架构。

  • 推荐指数:5 星
  • 回测类型:Event driven 和 Vectorized
  • 回测速度:中
  • 实盘模拟:好
  • 实盘支持:是
  • 社区建设:好
  • 组件灵活:非常好
  • 是否开源:是
  • 文档:非常好
  • 语言:Python3

QuantConnect

QuantConnect, 除了提供Web接口以外,还提供本地的SDK进行测试,代码已经开源:QuantConnect/Lean,核心的代码是C#完成的,但是提供F# 和 Python 的API。

Lean Engine是一个开源算法交易引擎,专为简单的策略研究,回溯测试和实时交易而构建。我们与通用数据提供商和经纪商集成,因此您可以快速部署算法交易策略。
LEAN引擎的核心是用C#编写的;但它可以在Linux,Mac和Windows操作系统上无缝运行。它支持用Python 3.6,C#或F#编写的算法。QuantConnect的社区建设也很不错,结合相关的Web前端,交流比较方便。由于开放了本地SDK,你可以不必上传自己的策略,隐私保护方便比较完善。同时定制方便也更加优秀。

  • 推荐指数:3 星
  • 回测类型:Event driven
  • 回测速度:快
  • 实盘模拟:好
  • 量化投资学习
  • 实盘支持:是
  • 社区建设:好
  • 组件灵活:好
  • 是否开源:是
  • 文档:非常好
  • 语言:C#,F#, Python

Hummingbot

另外,还有一类比较特殊的事件驱动框架,就是 时间驱动 。这类框架系统会定期观察市场一次,然后由此引发后续计算和订单提交。Hummingbot 就属于这类框架,它每隔一段时间(1s默认)观察市场,得到样本价格(Sampling),然后进行计算。

框架采用 Python + C 实现,可以实现1s以下心跳策略。代码方面,很适合学习如何混合Python和C++编程以提升Python的性能,同时不牺牲Python的灵活性和生态环境。项目提供了一个酷酷的基于命令行的GUI进行交互。不要重复造轮子,也要谨慎使用轮子。这个框架是个不错的起点。

  • 推荐指数:4 星
  • 回测类型:没有回测
  • 回测速度:-
  • 实盘模拟:-
  • 实盘支持:是
  • 社区建设:好
  • 组件灵活:好
  • 是否开源:是
  • 量化投资学习
  • 文档:非常好
  • 语言:Python + Cpp

向量驱动(Vectorized)

vectorbt

vectorbt,是目前我看到的向量回测框架中比较优秀的。这款框架不提供任何实盘交易功能,是一个纯回测平台。集成了Yahoo finance的数据源,开箱带有很多内置的信号指标,比如 ta-lib等等,同时由于是Python原生库,Python的数据科学生态,比如numpy,pandas,plotly,都可以完美接入。

计算图(Computation Graph)

计算图其实是把计算节点组织成DAG(Directed acyclic graph),就是有向无循环图。其实这种设计模式在大数据分析平台非常常见,比如Spark(类似向量驱动),Flink(类似事件驱动),都是采用了DAG作为组织和调度计算的主要模型。在这种模型中,每一个节点(node)负责根据自己的输入计算输出,然后把计算交给下一个以他的输出作为输出的节点,如此引发连式计算。正如Spark和Flink一样,计算图模型既可以是向量驱动也可以是事件驱动。

框架的核心节点是 Algo ,每一个 Algo 就是一个小的计算逻辑,可以是波动率调整算法、投组组合优化算法,也可以是一个简单的选择标的函数。 Algo 可以进一步放在一起形成一个线性的 AlgoStack 。

量化投资学习

关注逻辑,关注事实,关注历史预测的准确度,关注重要而没提到的点;不关注观点,不关注估值模型;不关注春秋笔法和评价,不关注没有出现过的冷门公司

梳理大师们对市场下一步的观点,找出大佬们统一看好的领域,做好股票白名单(群体进行了充分沟通之后的共识,往往比其中最聪明的人的判断,还要准确。

“第三,调研报告

第一,金融工程本来就不是一个行业,金融工程是一种方法,在越来越倡导基本面量化的情况下,金融工程更多的发展空间来自于与主观行业研究的结合。

第二,近几年量化在公募基金的发展比较缓慢,公募基金还是以主观投资为主,所以出现了公募私募量化两重天的现象。

1008: University_weixin_30375247的博客-程序员ITS301

台州ACM:1008: UniversityDescription在大学里,非常多单词都是一词多义。偶尔在文章里还要用引申义。这困扰Redraiment非常长的时间。他開始搜集那些单词的全部意义。他发现了一些规律,比如“a”能用“e”量化投资学习 来取代, “c”能用“f”来取代……如今他给出了字母的替换规则,例如以下所看到的,A被E替换。B被C替换,依.

电商公司ERP管理软件与旺店通、第三方仓库以及云仓的贯通解决方案_yuqi1602的博客-程序员ITS301

【MySQL】数据库函数通关教程下篇(窗口函数专题)_兴趣使然黄小黄的博客-程序员ITS301

什么是AppID_lyclowlevel的博客-程序员ITS301_appid是什么意思

mysql decimal php,PHP中的MySQL DECIMAL处理_吹亚吹的博客-程序员ITS301

如通常讨论的那样(例如Storing 0.00001 in MySQL),DECIMAL数据类型应用于需要精确度/正确性的字段,例如帐户余额.但是,我想知道PHP如何处理这些值,以及如果它们在内部以浮点数进行处理,那么从数据库读取这些值,进行一些计算并再次写回它们时是否仍然存在问题.如果是这样,我们如何才能迫使PHP保持精度?解决方法:该变量可能是最初在PHP中的字符串(从MySQL结果对象读取时.

jQuery第一天笔记01——jq下载及选择器_·青红造了个白·的博客-程序员ITS301

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>D.

将goland的terminal配置成shell_ranran陈的博客-程序员ITS301_goland 量化投资学习 shell

HTML中超链接调用JS的方法总结_nianbingsihan的博客-程序员ITS301_超链接调用js方法

本文转载自:https://blog.csdn.net/cnmao99/article/details/8306266我们常用的在a标签中有点击事件: 1. a href="javascript:js_method();量化投资学习 " 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致.

JAVA 计算圆的面积和周长: 创建一个圆Circle类。为该类提供一个变量r表示半径,一个常量PI表示圆周率; * 同时为该类提供两个方法:方法一用于求圆的面积,方法二用于求圆的周长; 为该类提供一_GuGuBirdXXXX的博客-程序员ITS301_java计算圆的面积和周长

JAVA 计算圆的面积和周长: 创建一个圆Circle类。为该类提供一个变量r表示半径,一个常量PI表示圆周率; * 同时为该类提供两个方法:方法一用于求圆的面积,方法二用于求圆的周长; 为该类提供一

实验教学管理系统(量化投资学习 SSH+MySql)【源码+数据库脚本+论文】_shitoujie_123的博客-程序员ITS301

实验教学管理系统(框架SSH,数据库MySQL)(毕业论文11000字以上)系统包含功能模块 【下载源码】1.人员信息管理模块 2.管理员信息管理模块 3.教师信息管理模块 4.课程安排管理模块 5.教学活动管理模块 6.课程信息管理模块 7.设备信息管理模块【开发环境】开发环境:Eclipse Mars JDK: JDK1.量化投资学习 7 Web服务器:Tomcat7 数.

@ControllerAdvice 的介绍及三种用法_Ethan.Han的博客-程序员 [email protected]

@ControllerAdvice 的介绍及三种用法浅析@ControllerAdvice首先,ControllerAdvice本质上是一个Component,因此也会被当成组建扫描,一视同仁,扫扫扫。然后,我们来看一下此类的注释:这个类是为那些声明了(@ExceptionHandler、@InitBinder 或 @ModelAttribute注解修饰的)方法的类而提供的专业化的.

CSS 盒子模型(Box Model)简单了解_前端践行者-Mr鹏帅的博客-程序员ITS301

所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。下面的图片说明了盒子模型(Box Model):不同部分的说明:Margin(外边距)- 清除边框外的区域,外边距是透明的。 Border(边框)- 围绕在内边距和内容外的边框。 Padding(内边距)- 清除内容周围的区域,内边.

量化投资学习——如何阅读研报

量化橙同学 于 2021-06-23 11:量化投资学习 15:00 发布 759 收藏 2

关注逻辑,关注事实,关注历史预测的准确度,关注重要而没提到的点;不关注观点,不关注估值模型;不关注春秋笔法和评价,不关注没有出现过的冷门公司

梳理大师们对市场下一步的观点,找出大佬们统一看好的领域,做好股票白名单(群体进行了充分沟通之后的共识,往往比其中最聪明的人的判断,还要准确。

“第三,调研报告

第一,金融工程本来就不是一个行业,金融工程是一种方法,在越来越倡导基本面量化的情况下,金融工程更多的发展空间来自于与主观行业研究的结合。

第二,近几年量化在公募基金的发展比较缓慢,公募基金还是以主观投资为主,所以出现了公募私募量化两重天的现象。

定量分析 利用python对国内各大券商的金工研报进行复现 数据依赖: 和 每个文件夹中有对应的券商研报及相关的论文,py文件中为ipynb的复现文档 目录 指数择时类 RSRS择时指标 一种。 CSVC为一个防过拟框架 b。 因子 量化价值 组合优化

01-26 1216

06-02 1825

核心观点: ●借力研报,打造开放的量化选股模型 传统的多因子量化选股模型是封闭的,缺乏捕捉市场热点的能力,通过大数据技术,从财经媒体和分析师研报中捕捉热点和政策的变化,可以打造开放的量化选股模型。 分析师个股类研报每年大约5万份,相比财经媒体,分析师研报在专业度、可信度、规范度、实时度等方面有明显优势,是大数据量化投资的重要数据来源之一。 ●热词库建设是构建量化选股模型的关键 通过对历史研报的统计,我们建立了基本面类、情绪面类、概念主题类三大热词库,其中基本面类和情绪类细分为正面词库和负面词库。我

05-14 3101

新手入门指南 | 报告酱教你写研报 原创报告酱の发现报告4月22日 前两周聊了一下如何研报,如果你能多看多写,日积月累,水平当然也会慢慢提高。 最近还有小伙伴会问彤彤,如果自己写研报,要怎么下手?思路和框架是什么呢? 这个问题看上去有点泛,其实也不难回答。报告酱就来和大家分享我们写报告的经验吧! 一、何为”好报告“? 大家都说现在的研究报告太多了,90%的研究报告都没有人看,如何写好研究报告,让更多人愿意看呢? 对于这个问题,.

量化交易(Quantitative Trading)也称自动化交易、程序化交易、算法交易。是指 借助先进的统计学方法和数学模型,利用计算机技术来进行程序化交易的投资方 式。量化交易从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以 制定策略,用数学模型验证及固化这些规律和策略,然后严格执行已固化的策略 来指导投资,以求获得可以持续的、稳定且高于平均收益的超额回报。

09-20 978

量化分析因子研究 前言 所谓的因子也就是某个衡量标准,选择不同的因子作为选股的参考,往往会得到不同的结果,本文简单介绍了一些因子以及它所表示的意义。 估值和资本结构因子 账面市值比(BM) 账面市值比 = 股东权益 / 公司市值 = 每股净资产 / 每股股价 BM 因子属于估值因子,即通过对于 BM 值的高低可以直观反映出股票估值是否符合公司价值。 结合 BM 值可以直观表达为:BM 值高于 1,说明股份对应的公司权益的价值高于股价,也就是说股票的价值被低估了 最大 量化投资学习 1 % BM 策略为每次选取可行股票池

05-07 607