wordpress 如何调用函数,信息流优化师工作总结,有特色的网站设计,云服务器怎么建网站算法交易的概念#xff1a;
利用自动化平台#xff0c;执行预先设置的一系列规则完成交易行为。
算法交易的优势
1.历史数据评估 2.执行高效 3.无主观情绪输入 4.可度量评价 5.交易频率
算法交易的劣势
1.成本#xff0c;成本低难以体现收益 2.技巧
算法交易流程
大前…算法交易的概念
利用自动化平台执行预先设置的一系列规则完成交易行为。
算法交易的优势
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的极值的方法
MLTrading
限价委托单薄模型Limit Order Book Modeling 基于价格的分类模型Price-based Classification Models最常用吃价格输出分类买卖 基于文本的分类模型Text-based Classification Models基于高质量网站Twitter或股票评论网站新浪财经新闻采用自然语言处理方式进行选股票信噪比较大新闻来源各种托 强化学习Reinforcement Learning
MLTrading建模四要素
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_col0,parse_datesTrue)
data.head()data.plot(figsize (10,12))#分开显示
data.plot(figsize (10,12),subplot True)
各个指标含义
AAPL.OApplo Stock
MSFT.OMicrosoft Stock
INTC.OIntelStock
AMZN.OAmazon Stock
GS.NGoldman Sachs Stock
SPYSPDR SP 500 ETF Trust
SPXSP 500 Index
VIXVIX Volatity Index
EUREUR/USD Exchange Rate
XAUGold Price
GDXVanEck Vectors Gold Miners ETF
GLDSPDR 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支股票需要将现有股票与排行榜中的股票进行比对卖掉不在榜内的股票买入在榜上的股票。