01.自动化交易综述
算法交易的概念:
利用自动化平台,执行预先设置的一系列规则完成交易行为。
算法交易的优势
1.历史数据评估
2.执行高效
3.无主观情绪输入
4.可度量评价
5.交易频率
算法交易的劣势
1.成本,成本低难以体现收益
2.技巧
算法交易流程
大前提:基于某种平台(可自建)
1.提出假设
2.建立模型
3.回测验证
4.执行交易
交易策略的来源(trading strategy)
1市场微观结构研究(for HFT mostly)
2.基金结构套利(fund structure arbitrage)
3机器学习/人工智能(重点)
机器学习的四个流派:
离散的角度:符号主义(symbolism),可解释性好
代表性算法领域 1:决策树,涉及到的学科知识:信息论;
代表性算法领域 2:规则学习 (Rule),涉及到的学科知识:数理逻辑;
连接主义(connectionism)
代表性算法领域:神经网络,涉及到的学科知识:泛函分析。
连续的角度:频率主义(frequentists)
代表性算法领域:支持向量机 (SVM),涉及到的学科知识:统计学;
概率角度:贝叶斯主义(bayesian)
代表性算法领域:贝叶斯,例如朴素贝叶斯、概率图等,涉及到的学科知识:统计学、概率论;
ML的核心三板斧:
Data
Model & Objective Function
Optimization:寻找上面function的极值的方法
ML+Trading
限价委托单薄模型(Limit Order Book Modeling)
基于价格的分类模型(Price-based Classification Models),最常用,吃价格,输出分类(买卖)
基于文本的分类模型(Text-based Classification Models)基于高质量网站(Twitter)或股票评论网站(新浪财经新闻),采用自然语言处理方式进行选股票(信噪比较大,新闻来源,各种托)
强化学习(Reinforcement Learning)
ML+Trading建模四要素
Good model and efficient trading algorithms
Hardware( GPU/CPU)硬件要求
High quality data,数据是模型精度的上限
Platform(keras/tensorflow/sklearn) python为主
交易策略的评估
1.策略的基本假设
2.Sharp Ratio
3.杠杆
4.频率
5.风险
6.W/L
7.模型复杂度 VC dim
8.最大亏损 Maximum drawdown
9.Benchmarking
回测
1.回测是指将交易策略在历史数据中进行合理验证的过程。
2.回测的意义:
策略筛选
策略优化
策略验证
3.错误的回测:
乐观主义偏差 special look back region
时间旅行
·程序bug
·train/val/test set
幸存者误差(选股)
搭建平台需要理解事件驱动的编程模型
while True:new_even = get_new_event()if new_event.something='事件1':do_something()if new_event.something='事件2':do_something_else()tick(50) #wait 50 milliseconds
金融时间序列数据统计分析(米筐)
import warnings
warnings.filterwarnings("ignore")
import numpy as numpy
import pandas as pd
import matplotlib.pyplot as plt
# matplotlib没有就 pip install matplotlib
plt.style.use('seaborn')
#将matplotlib的图表直接嵌入到Notebook之中,py文件不支持这个命令
#%matplotlib inline'''
导入数据
1.以时间为索引
2.将事件转换成标准格式
3.绘制展示各个指标的走势图
'''
#指定第一列为索引列,并且自动将时间文本转化为日期类型
data = pd.read_csv('stockdata.csv',index_col=0,parse_dates=True)
data.head()data.plot(figsize = (10,12))#分开显示
data.plot(figsize = (10,12),subplot = True)'''
各个指标含义
AAPL.O:Applo Stock
MSFT.O:Microsoft Stock
INTC.O:IntelStock
AMZN.O:Amazon Stock
GS.N:Goldman Sachs Stock
SPY:SPDR S&P 500 ETF Trust
SPX:S&P 500 Index
VIX:VIX Volatity Index
EUR:EUR/USD Exchange Rate
XAU:Gold Price
GDX:VanEck Vectors Gold Miners ETF
GLD:SPDR Gold Trust
'''# 统计分析
data.info()data.describe().round(2)data.mean()data.aggregate([min,max,np.mean,np.std,np.median])
#示例程序,至少包含4个必须实现的方法
import talib
# 在这个方法中编写任何的初始化逻辑。context对象将会在你的算法策略的任何方法之间做传递。
def init(context):context.s1 = "000001.XSHE"#实时打印日志logger.info("Interested at stock:" + str())# before_trading函数会在每天交易开始前被调用,当天仅会调用一次
def before_trading(context, bar_dict)pass## 你选择的证券的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或者是实时数据切片更新
# 该策略执行的频率在右边可以选择:天、分钟
def handle_bar(context, bar_dict):# 开始编写你的主要的算法逻辑pass# after_trading函数会在每天交易结束后被调用,当天只会被调用一次
def after_trading(context):pass
从300支股票从选取10支收益率最高的股票,并买入;
收益率从股票的财务数据中提取,然后排序;
该策略每天执行,每天都会更新10支股票,需要将现有股票与排行榜中的股票进行比对,卖掉不在榜内的股票,买入在榜上的股票。
相关文章:
01.自动化交易综述
算法交易的概念: 利用自动化平台,执行预先设置的一系列规则完成交易行为。 算法交易的优势 1.历史数据评估 2.执行高效 3.无主观情绪输入 4.可度量评价 5.交易频率 算法交易的劣势 1.成本,成本低难以体现收益 2.技巧 算法交易流程 大前…...

基于SpringBoot的网上超市系统的设计与实现
目录 前言 一、技术栈 二、系统功能介绍 管理员功能实现 用户功能实现 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计…...

国内首家!阿里云 Elasticsearch 8.9 版本释放 AI 搜索新动能
简介: 阿里云作为国内首家上线 Elasticsearch 8.9版本的厂商,在提供 Elasticsearch Relevance Engine™ (ESRE™) 引擎的基础上,提供增强 AI 的最佳实践与 ES 本身的混合搜索能力,为用户带来了更多创新和探索的可能性。 近年来&a…...

uniapp获取一周日期和星期
UniApp可以使用JavaScript中的Date对象来获取当前日期和星期几。以下是一个示例代码,可以获取当前日期和星期几,并输出在一周内的每天早上和晚上: // 获取当前日期和星期 let date new Date(); let weekdays ["Sunday", "M…...
QT之QListWidget的介绍
QListWidget常用成员函数 1、成员函数介绍2、例子显示图片和按钮的例子 1、成员函数介绍 1)QListWidget(QWidget *parent nullptr) 构造函数,创建一个新的QListWidget对象。 2)void addItem(const QString &label) 在列表末尾添加一个项目,项目标…...

数据结构--排序(1)
文章目录 排序概念直接插入排序希尔排序冒泡排序堆排序选择排序验证不同排序的运行时间 排序概念 排序指的是通过某一特征关键字(如信息量大小,首字母等)来对一连串的数据进行重新排列的操作,实现递增或者递减的数据排序。 稳定…...

【AI视野·今日NLP 自然语言处理论文速览 第三十七期】Thu, 21 Sep 2023
AI视野今日CS.NLP 自然语言处理论文速览 Thu, 21 Sep 2023 Totally 57 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Chain-of-Verification Reduces Hallucination in Large Language Models Authors Shehzaad Dhuliawala, Mojt…...
高防服务器防护效果怎么样?
对于很多拥有在线业务的公司,数据是非常重要,如果遭到网络攻击会导致很严重的后果,所以很多公司选择高防服务器,那么高防服务器防护效果是怎么样的呢?今天就让小编带大家看一看吧! 弹性带宽。高防服务器一…...

tomcat架构概览
https://blog.csdn.net/ldw201510803006/article/details/119880100 前言 Tomcat 要实现 2 个核心功能: 处理 Socket 连接,负责网络字节流与 Request 和 Response 对象的转化。加载和管理 Servlet,以及具体处理 Request 请求。 因此 Tomc…...
海康的资料
系列文章目录 文章目录 系列文章目录前言一、海康二、使用步骤1.引入库2.读入数据 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学…...
【ELFK】之消息队列kafka
本章结构: 1、为什么要使用消息队列MQ 2、使用消息队列的好处 3、消息队列的两种模式 4、对Kafka的概述 5、Kafka的特性 6、Kafka的系统架构 7、部署Kafka Kafka 定义 Kafka 是一个分布式的基于发布/订阅模式的消息队列(MQ,Message Qu…...

Qt核心:元对象系统、属性系统、对象树、信号槽
一、元对象系统 1、Qt 的元对象系统提供的功能有:对象间通信的信号和槽机制、运行时类型信息和动态属性系统等。 2、元对象系统是 Qt 对原有的 C进行的一些扩展,主要是为实现信号和槽机制而引入的, 信号和槽机制是 Qt 的核心特征。 3、要使…...

【若依框架2】前后端分离版本添加功能页
在VSCode的src/views下新建个文件平example,在example下创建test文件夹,在test里创建index.vue文件 <template> <h1>Hello world</h1> </template><script> export default {name: "index" } </script><style s…...

Unity Bolt模块间通信
使用Bolt无代码设计开发的时候,我们不能简单的认为只需要一个FlowMachine就可以完成所有流程的开发。我们需要不同的模块进行拆分,以便更好的管理和协作。这就需要不同模块之间的通信处理。经过研究与使用,将常用的通信方式总结如下ÿ…...

please choose a certificate and try again.(-5)报错怎么解决
the server you want to connect to requests identification,please choose a certificate and try again.(-5)...

国产自研BI系统,更懂中国企业数据分析需求
国产自研BI系统是指由中国企业自主研发的商业智能(BI)系统,这类系统更加了解中国企业的数据分析需求,能够提供更加贴合实际的解决方案。比如说奥威BI系统就是典型的国产自研,不仅了解中国企业的数据分析需求࿰…...

基于Java的高校竞赛管理系统设计与实现(亮点:发起比赛、报名、审核、评委打分、获奖排名,可随意更换主题如蓝桥杯、ACM、王者荣耀、吃鸡等竞赛)
高校竞赛管理系统 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序(小蔡coding)2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 主要功能描述4.2 系统角色 五、系统…...
出血性脑卒中临床智能诊疗建模
先说下数据,随访流水号是患者的后续诊断号码,表3有对应的数据,首先需要做下数据整理,需要整理出每次诊断的指标(包括表1中人物信息、表2中的检查指标以及表3中的检查指标,表4中有对应的时间,以刚…...

Cesium 空间量算——生成点位坐标
文章目录 需求分析1. 点击坐标点实现2. 输入坐标实现 需求 用 Cesium 生成点位坐标,并明显标识 分析 以下是我的两种实现方式 第一种是坐标点击实现 第二种是输入坐标实现 1. 点击坐标点实现 //点位坐标getLocation() {this.hoverIndex 0;let that this;this.view…...

为什么曲面函数的偏导数可以表示其曲面的法向量?
为什么曲面函数的偏导数可以表示其曲面的法向量? 引用资料: 1.知乎shinbade:曲面的三个偏导数为什么能表示法向量? 2.Geogebra羅驥韡 (Pegasus Roe):偏導數、切平面、梯度 曲面 F ( x , y , z ) 0 F(x,y,z)0 F(x,y,…...

国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...

图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...

面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

Linux中《基础IO》详细介绍
目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...