代码架构

以自己的回测框架为例。主要包含下面两个文件

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徒手撸一个股票回测框架相关推荐

  1. 用Python徒手撸一个股票回测框架

    通过纯Python完成股票回测框架的搭建. 什么是回测框架? 无论是传统股票交易还是量化交易,无法避免的一个问题是我们需要检验自己的交易策略是否可行,而最简单的方式就是利用历史数据检验交易策略,而回测 ...

  2. diff算法_[VUE学习]徒手撸一个虚拟dom+diff算法

    首先先来聊一下,什么是虚拟dom? 为什么要使用虚拟dom? 其实答案很简单,虚拟dom就是位于js层和html层之间的一个层,使用js模拟出一个dom树,然后通过diff算法,来侦测到dom发生更改 ...

  3. spring boot 自动跳转登录页面_徒手撸一个扫码登录示例工程

    徒手撸一个扫码登录示例工程 不知道是不是微信的原因,现在出现扫码登录的场景越来越多了,作为一个有追求.有理想新四好码农,当然得紧跟时代的潮流,得徒手撸一个以儆效尤 本篇示例工程,主要用到以下技术栈 q ...

  4. python 量化策略回测_在python中创建和回测对交易策略

    python 量化策略回测 Pairs trading is one of the many mean-reversion strategies. It is considered non-direc ...

  5. python判断回文_用python判断回文数

    信息举报 时间:2020-11-23 本页为您甄选多篇描写用python判断回文数,用python判断回文数精选,用python判断回文数大全,有议论,叙事 ,想象等形式.文章字数有400字.600字 ...

  6. python出现的意义_[转]Python中下划线以及命名空间的意义

    Python 用下划线作为变量前缀和后缀指定特殊变量/方法. 主要存在四种情形 1. 1. object # public 2. __object__ # special, python system ...

  7. python大数据免费_用python做大数据

    不学Python迟早会被淘汰?Python真有这么好的前景? 最近几年Python编程语言在国内引起不小的轰动,有超越Java之势,本来在美国这个编程语言就是最火的,应用的非常非常的广泛,而Pytho ...

  8. python a股行情_用Python,tushare做一个A股每日收盘行情监测分析(含源代码)

    灵感:对于交易者来说,每日收盘分析是一件必要的功课.现在的看盘软件种类很多,已经有很多整理好的数据,但是对于高阶玩家,可能需要更多自定义化的功能,做出自己的每日分析报表.那我们何不尝试用Python做 ...

  9. python tkinter计算器实例_使用Python自带GUI tkinter编写一个期权价格计算器

    0 准备工作 首先,确认环境中有numpy.scipy.stats和tkinter三个功能包.前两个功能包可用于Python的数学计算,比如使用numpy来生成随机数用于Monte Carlo模拟,以 ...

  10. python delimiter分隔符用法_使用Python文件读写,自定义分隔符(custom delimiter)

    众所周知,python文件读取文件的时候所支持的newlines(即换行符),是指定的.这一点不管是从python的doucuments上还是在python的源码中(作者是参考了python的io版本 ...

最新文章

  1. 【WPF】MVVM模式的3种command
  2. centos mysql卸载重装_centos 7.x 安装/卸载MySQL
  3. Faster-RCNN训练时遇到的问题
  4. 逻辑漏洞挖掘初步总结篇
  5. sql between 效率高吗_B2增驾好吗
  6. Bootstrap3 警告框插件的使用方法
  7. input hidden的值存储在哪儿_kafka内核:消息存储模块的工作机制
  8. Python操作Redis:键(Key)
  9. 当你写爬虫遇到APP的请求有加密参数时该怎么办?【初级篇-常规模式】
  10. android view分析工具,Android 性能分析工具之TraceView
  11. 如何使用AForge调用本机摄像头
  12. iconfont 彩色图标的使用
  13. 百度移动搜索冰桶算法公告
  14. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
  15. System Verilog的基本数据类型
  16. 「Hudi系列」Hudi查询写入常见问题汇总
  17. JavaWeb开发 —— Ajax
  18. 【Python】pathlib 模块的用法(Path)
  19. VS 一个解决方案里面建立多个项目
  20. CST—电磁及EMC仿真工具

热门文章

  1. vulhub学习(1) ActiveMQ反序列化漏洞(CVE-2015-5254)复现
  2. 高德上线“查岗功能”,你会监视另一半吗?精确到米的那种
  3. 小程序:解析h5标签
  4. 计算机复试读研规划,【图片】2020考研,老学长教你如何规划!【计算机考研吧】_百度贴吧...
  5. WPS安装后显示系统字体找不到
  6. [实操记录]mysql5.7如何恢复被删除数据
  7. html终止函数运行,js 终止执行的实现方法
  8. 数据库所有者 (dbo)
  9. Python属性使用@property和不使用@property的差别
  10. Jenkins持续集成与部署