python股票回测_用Python徒手撸一个股票回测框架
代码架构
以自己的回测框架为例。主要包含下面两个文件
backtest/
backtest.py
broker.py
backtest.py主要提供BackTest这个类用于提供回测框架,暴露以下钩子函数.
def initialize(self):
"""在回测开始前的初始化"""
pass
def before_on_tick(self, tick):
pass
def after_on_tick(self, tick):
pass
def before_trade(self, order):
"""在交易之前会调用此函数
可以在此放置资金管理及风险管理的代码
如果返回True就允许交易,否则放弃交易
"""
return True
def on_order_ok(self, order):
"""当订单执行成功后调用"""
pass
def on_order_timeout(self, order):
"""当订单超时后调用"""
pass
def finish(self):
"""在回测结束后调用"""
pass
@abstractmethod
def on_tick(self, bar):
"""
回测实例必须实现的方法,并编写自己的交易逻辑
"""
pass
python股票回测_用Python徒手撸一个股票回测框架相关推荐
- 用Python徒手撸一个股票回测框架
通过纯Python完成股票回测框架的搭建. 什么是回测框架? 无论是传统股票交易还是量化交易,无法避免的一个问题是我们需要检验自己的交易策略是否可行,而最简单的方式就是利用历史数据检验交易策略,而回测 ...
- diff算法_[VUE学习]徒手撸一个虚拟dom+diff算法
首先先来聊一下,什么是虚拟dom? 为什么要使用虚拟dom? 其实答案很简单,虚拟dom就是位于js层和html层之间的一个层,使用js模拟出一个dom树,然后通过diff算法,来侦测到dom发生更改 ...
- spring boot 自动跳转登录页面_徒手撸一个扫码登录示例工程
徒手撸一个扫码登录示例工程 不知道是不是微信的原因,现在出现扫码登录的场景越来越多了,作为一个有追求.有理想新四好码农,当然得紧跟时代的潮流,得徒手撸一个以儆效尤 本篇示例工程,主要用到以下技术栈 q ...
- python 量化策略回测_在python中创建和回测对交易策略
python 量化策略回测 Pairs trading is one of the many mean-reversion strategies. It is considered non-direc ...
- python判断回文_用python判断回文数
信息举报 时间:2020-11-23 本页为您甄选多篇描写用python判断回文数,用python判断回文数精选,用python判断回文数大全,有议论,叙事 ,想象等形式.文章字数有400字.600字 ...
- python出现的意义_[转]Python中下划线以及命名空间的意义
Python 用下划线作为变量前缀和后缀指定特殊变量/方法. 主要存在四种情形 1. 1. object # public 2. __object__ # special, python system ...
- python大数据免费_用python做大数据
不学Python迟早会被淘汰?Python真有这么好的前景? 最近几年Python编程语言在国内引起不小的轰动,有超越Java之势,本来在美国这个编程语言就是最火的,应用的非常非常的广泛,而Pytho ...
- python a股行情_用Python,tushare做一个A股每日收盘行情监测分析(含源代码)
灵感:对于交易者来说,每日收盘分析是一件必要的功课.现在的看盘软件种类很多,已经有很多整理好的数据,但是对于高阶玩家,可能需要更多自定义化的功能,做出自己的每日分析报表.那我们何不尝试用Python做 ...
- python tkinter计算器实例_使用Python自带GUI tkinter编写一个期权价格计算器
0 准备工作 首先,确认环境中有numpy.scipy.stats和tkinter三个功能包.前两个功能包可用于Python的数学计算,比如使用numpy来生成随机数用于Monte Carlo模拟,以 ...
- python delimiter分隔符用法_使用Python文件读写,自定义分隔符(custom delimiter)
众所周知,python文件读取文件的时候所支持的newlines(即换行符),是指定的.这一点不管是从python的doucuments上还是在python的源码中(作者是参考了python的io版本 ...
最新文章
- 【WPF】MVVM模式的3种command
- centos mysql卸载重装_centos 7.x 安装/卸载MySQL
- Faster-RCNN训练时遇到的问题
- 逻辑漏洞挖掘初步总结篇
- sql between 效率高吗_B2增驾好吗
- Bootstrap3 警告框插件的使用方法
- input hidden的值存储在哪儿_kafka内核:消息存储模块的工作机制
- Python操作Redis:键(Key)
- 当你写爬虫遇到APP的请求有加密参数时该怎么办?【初级篇-常规模式】
- android view分析工具,Android 性能分析工具之TraceView
- 如何使用AForge调用本机摄像头
- iconfont 彩色图标的使用
- 百度移动搜索冰桶算法公告
- win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
- System Verilog的基本数据类型
- 「Hudi系列」Hudi查询写入常见问题汇总
- JavaWeb开发 —— Ajax
- 【Python】pathlib 模块的用法(Path)
- VS 一个解决方案里面建立多个项目
- CST—电磁及EMC仿真工具
热门文章
- vulhub学习(1) ActiveMQ反序列化漏洞(CVE-2015-5254)复现
- 高德上线“查岗功能”,你会监视另一半吗?精确到米的那种
- 小程序:解析h5标签
- 计算机复试读研规划,【图片】2020考研,老学长教你如何规划!【计算机考研吧】_百度贴吧...
- WPS安装后显示系统字体找不到
- [实操记录]mysql5.7如何恢复被删除数据
- html终止函数运行,js 终止执行的实现方法
- 数据库所有者 (dbo)
- Python属性使用@property和不使用@property的差别
- Jenkins持续集成与部署