当前位置: 首页 > news >正文

汽车行业网站建设比较cms网站地图模板

汽车行业网站建设比较,cms网站地图模板,三亚哪里做网站,云南人参果Backtrader 量化回测实践(7)——在jupyter中执行bt的samples Backtrader提供了大量的测试用例,在samples目录下,测试程序主要都是用argparse解析参数,但是不能在jupyter中直接执行。 找到一个解决方法,可…

Backtrader 量化回测实践(7)——在jupyter中执行bt的samples

Backtrader提供了大量的测试用例,在samples目录下,测试程序主要都是用argparse解析参数,但是不能在jupyter中直接执行。

找到一个解决方法,可以方便在jupyter中执行samples中的示例。

把datas目录上传到ipython的当前路径,以calmar-test.py程序为例,简单修改程序如下:

#!/usr/bin/env python
# -*- coding: utf-8; py-indent-offset:4 -*-
###############################################################################
#
# Copyright (C) 2015-2023 Daniel Rodriguez
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from __future__ import (absolute_import, division, print_function,unicode_literals)import argparse
import datetimeimport backtrader as bt%matplotlib inlineclass St(bt.SignalStrategy):params = ()def __init__(self):ma1, ma2, = bt.ind.SMA(period=15), bt.ind.SMA(period=50)self.signal_add(bt.signal.SIGNAL_LONG, bt.ind.CrossOver(ma1, ma2))def next2(self):passdef runstrat(args=None):args = parse_args(args)cerebro = bt.Cerebro()# Data feed kwargskwargs = dict()# Parse from/to-datedtfmt, tmfmt = '%Y-%m-%d', 'T%H:%M:%S'for a, d in ((getattr(args, x), x) for x in ['fromdate', 'todate']):if a:strpfmt = dtfmt + tmfmt * ('T' in a)kwargs[d] = datetime.datetime.strptime(a, strpfmt)# Data feeddata0 = bt.feeds.YahooFinanceCSVData(dataname=args.data0, **kwargs)cerebro.adddata(data0)# Brokercerebro.broker = bt.brokers.BackBroker(**eval('dict(' + args.broker + ')'))cerebro.addanalyzer(bt.analyzers.Calmar)# Sizercerebro.addsizer(bt.sizers.FixedSize, **eval('dict(' + args.sizer + ')'))# Strategycerebro.addstrategy(St, **eval('dict(' + args.strat + ')'))# Executest0 = cerebro.run(**eval('dict(' + args.cerebro + ')'))[0]i = 1for k, v in st0.analyzers.calmar.get_analysis().items():print(i, ': '.join((str(k), str(v))))i += 1if args.plot:  # Plot if requested to#cerebro.plot(**eval('dict(' + args.plot + ')'))cerebro.plot(iplot=False)def parse_args(pargs=None):parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter,description=('Sample Skeleton'))parser.add_argument('--data0', default='./datas/orcl-1995-2014.txt',required=False, help='Data to read in')# Defaults for datesparser.add_argument('--fromdate', required=False, default='',help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')parser.add_argument('--todate', required=False, default='',help='Date[time] in YYYY-MM-DD[THH:MM:SS] format')parser.add_argument('--cerebro', required=False, default='',metavar='kwargs', help='kwargs in key=value format')parser.add_argument('--broker', required=False, default='',metavar='kwargs', help='kwargs in key=value format')parser.add_argument('--sizer', required=False, default='',metavar='kwargs', help='kwargs in key=value format')parser.add_argument('--strat', required=False, default='',metavar='kwargs', help='kwargs in key=value format')parser.add_argument('--plot', required=False, default='',nargs='?', const='{}',metavar='kwargs', help='kwargs in key=value format')return parser.parse_args(pargs)if __name__ == '__main__':#runstrat()#runstrat('--plot'.split())runstrat('--plot --fromdate=1998-01-01 --todate=2000-01-01'.split())

修改点如下:

    1. jupyter环境:在import 后增加 %matplotlib inline
    1. 调整数据导入路径,因为在当前路径
    parser.add_argument('--data0', default='./datas/orcl-1995-2014.txt',required=False, help='Data to read in')
  • 3.绘图参数:
    在jupyter中绘图参数
#cerebro.plot(**eval('dict(' + args.plot + ')'))
cerebro.plot(iplot=False)`
  • 4.调用参数
    通过split方法,带入调用参数。
    #runstrat()runstrat('--plot --fromdate=1998-01-01 --todate=2000-01-01'.split())

修改以上内容后,就可以直接在jupyter中执行Backtrader的示例了。

http://www.yayakq.cn/news/125085/

相关文章:

  • 深圳公司网站建立地方网站商城怎么做
  • 公司怎样做网站沂源网站建设yx718
  • 海南千筑建设工程有限公司网站visual studio网站开发
  • 阿里云服务器建立网站买友情链接有用吗
  • 酒店网站建设 源码上海网站建设公司兴田德润优惠吗
  • 网站空间自己做团队氛围建设 网站
  • 平阳网站开发高端的家居行业网站开发
  • 建设公共资源交易中心网站室内软装设计软件
  • 网站做支付宝和网银接口苏州做网站公司 速选苏州聚尚网络
  • 电子商务网站建设课程性质百度aipage智能建站系统
  • 国外优秀app设计网站有哪些飞天侠调用wordpress
  • 天津设计网站建设大连工程局
  • 可视化拖拽网站建设软件北京市工程建设交易中心
  • 大好网站wordpress博客百度收录
  • ppt插件 网站购买域名流程
  • 网站与app的区别江苏住房城乡建设部网站
  • 有像考试佳园一样做资料的网站吗做房产的一般用哪个网站
  • 高端大气装饰公司网站源码 百度网盘搜索推广网站哪家做的最好
  • 如何制作自己的作品集网站哪里有免费永久的云服务器
  • 往网站上做新东西需要什么国内做化妆刷的比较好的网站
  • 网站ipv6建设平台推广策略都有哪些
  • 搜索网站的软件深圳罗湖做网站
  • 阿里云怎么上传网站网络营销的实现方式包括
  • wordpress 做表格中山网站关键字优化
  • 创意产品设计网站推荐东莞网站推广渠道
  • 国外地图搜房网站建设网站上的qq咨询怎么做
  • 宿豫建设局网站搜题公众号怎么制作
  • 公司网站包含哪些内容上海微网站公司
  • 做网站seo优化总结烟台seo网站诊断
  • 网站建设的初步预算附近室内设计培训学校