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

网站开发论文开题报告巨量算数数据分析

网站开发论文开题报告,巨量算数数据分析,石家庄有哪些做网站的公司,关于公司网站建设的若干意见Backtrader 文档学习-Indicators混合时间周期 1.不同时间周期 如果数据源在Cerebro引擎中具有不同的时间范围和不同的长度,指示器将会终止。 比如:data0是日线,data1是月线 。 pivotpoint btind.PivotPoint(self.data1) sellsignal self…

Backtrader 文档学习-Indicators混合时间周期

1.不同时间周期

如果数据源在Cerebro引擎中具有不同的时间范围和不同的长度,指示器将会终止。
比如:data0是日线,data1是月线 。

pivotpoint = btind.PivotPoint(self.data1)
sellsignal = self.data0.close < pivotpoint.s1

当收盘低于s1线(第一支撑位)时为卖出信号

PivotPoint可以在更大的时间范围内工作

在以前的版本报错:

return self.array[self.idx + ago]
IndexError: array index out of range

原因是:self.data.close提供第一个bar的值,但PivotPoint(以及s1行)只有在一个完整月过去后才会有值,相当于self.data0.close的22个值。在这22个close值,s1的Line还没有值,从底层数组获取它的尝试失败,报错超出范围。

Line对象支持(ago)运算符(Python中的__call__特殊方法)来传递自身的延迟版本:

close1 = self.data.close(-1)

In this example the object close1 (when accessed via [0]) always contains the previous value (-1) delivered by close. The syntax has been reused to accomodate adapting timeframes. Let’s rewrite the above pivotpoint snippet:

对象close1(通过[0]访问时)始终包含close提供的前一个值(-1)。语法将重写以适应时间框架。重写上面的pivotpoint 片段:

pivotpoint = btind.PivotPoint(self.data1)
sellsignal = self.data0.close < pivotpoint.s1()

看看()是如何在没有参数的情况下执行的(在后台没有提供任何参数)。发生了以下情况:

  • pivotpoint.s1()返回内部LinesCoupler对象,该对象遵循较大范围周期,coupler用来自实际s1的最新值填充,从默认值NaN开始 。

在后面章节中的参数说明:

PivotPoint Formula:

  • pivot = (h + l + c) / 3 # variants duplicate close or add open
  • support1 = 2.0 * pivot - high
  • support2 = pivot - (high - low)
  • resistance1 = 2.0 * pivot - low
  • resistance2 = pivot + (high - low)
    对应计算后的Line:
  • p
  • s1
  • s2
  • r1
  • r2

运行结果:

0069,0069,0014,2005-04-11,3080.60,3043.16,0.00
0070,0070,0014,2005-04-12,3065.18,3043.16,0.00
0071,0071,0014,2005-04-13,3080.54,3043.16,0.00
0072,0072,0014,2005-04-14,3075.33,3043.16,0.00
0073,0073,0014,2005-04-15,3013.89,3043.16,1.00
0074,0074,0015,2005-04-18,2947.79,2988.96,1.00
0075,0075,0015,2005-04-19,2957.37,2988.96,1.00
0076,0076,0015,2005-04-20,2944.33,2988.96,1.00
0077,0077,0015,2005-04-21,2950.34,2988.96,1.00
0078,0078,0015,2005-04-22,2976.39,2988.96,1.00
0079,0079,0016,2005-04-25,2987.05,2935.07,0.00
0080,0080,0016,2005-04-26,2983.22,2935.07,0.00
0081,0081,0016,2005-04-27,2942.62,2935.07,0.00

在长度为74 的时候,close < s1 。出现signal 。

2.代码

from __future__ import (absolute_import, division, print_function,unicode_literals)import argparseimport backtrader as bt
import backtrader.feeds as btfeeds
import backtrader.indicators as btind
import backtrader.utils.flushfileclass St(bt.Strategy):params = dict(multi=True)def __init__(self):self.pp = pp = btind.PivotPoint(self.data1)#print(dir(pp))pp.plotinfo.plot = False  # deactivate plottingif self.p.multi:pp1 = pp()  # couple the entire indicatorsself.sellsignal = self.data0.close < pp1.s1()else:self.sellsignal = self.data0.close < pp.s1()def next(self):txt = ' , '.join(['%04d' % len(self),'%04d' % len(self.data0),'%04d' % len(self.data1),self.data.datetime.date(0).isoformat(),'%.2f' % self.data0.close[0],'%.2f' % self.pp.s1[0],'%.2f' % self.sellsignal[0]])print(txt)def runstrat():args = parse_args()cerebro = bt.Cerebro()data = btfeeds.BacktraderCSVData(dataname=args.data)cerebro.adddata(data)cerebro.resampledata(data, timeframe=bt.TimeFrame.Weeks) # 增加周线cerebro.resampledata(data, timeframe=bt.TimeFrame.Months) # 增加月线cerebro.addstrategy(St, multi=args.multi)cerebro.run(stdstats=False, runonce=False)if args.plot:cerebro.plot(style='bar')def parse_args():parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter,description='Sample for pivot point and cross plotting')parser.add_argument('--data', required=False,default='./datas/2005-2006-day-001.txt',help='Data to be read in')parser.add_argument('--multi', required=False, action='store_true',help='Couple all lines of the indicator')parser.add_argument('--plot', required=False, action='store_true',help=('Plot the result'))return parser.parse_args()if __name__ == '__main__':runstrat()

允许参数说明:

python  ./mixing-timeframes.py --help
usage: mixing-timeframes.py [-h] [--data DATA] [--multi] [--plot]Sample for pivot point and cross plottingoptional arguments:-h, --help   show this help message and exit--data DATA  Data to be read in (default: ./datas/2005-2006-day-001.txt)--multi      Couple all lines of the indicator (default: False)--plot       Plot the result (default: False)

可以看到,日线、周线和月线,三个周期的数据,在cerebro 通过init中Indicator的初始化,在next中打印数据长度,数据和signal,执行结果:
在这里插入图片描述

3. 修改为不用args参数

在jupter中可以执行:

from __future__ import (absolute_import, division, print_function,unicode_literals)import backtrader as bt
import backtrader.feeds as btfeeds
import backtrader.indicators as btind
import backtrader.utils.flushfile%matplotlib inlineclass St(bt.Strategy):params = dict(multi=True)def __init__(self):self.pp = pp = btind.PivotPoint(self.data1)pp.plotinfo.plot = False  # deactivate plottingif self.p.multi:pp1 = pp()  # couple the entire indicatorsself.sellsignal = self.data0.close < pp1.s1else:self.sellsignal = self.data0.close < pp.s1()def next(self):txt = ','.join(['%04d' % len(self),'%04d' % len(self.data0),'%04d' % len(self.data1),self.data.datetime.date(0).isoformat(),'%.2f' % self.data0.close[0],'%.2f' % self.pp.s1[0],'%.2f' % self.sellsignal[0]])#print(txt)def runstrat(args_plot):#cerebro = bt.Cerebro()#data = btfeeds.BacktraderCSVData(dataname=args.data)cerebro = bt.Cerebro()stock_hfq_df = get_code('000858') start_date = datetime.datetime(2020, 1, 1)  # 回测开始时间end_date = datetime.datetime(2020, 12, 31)  # 回测结束时间data = bt.feeds.PandasData(dataname=stock_hfq_df, fromdate=start_date, todate=end_date)  # 加载数据# Add the Data Feed to Cerebrocerebro.adddata(data)cerebro.resampledata(data, timeframe=bt.TimeFrame.Weeks)cerebro.resampledata(data, timeframe=bt.TimeFrame.Months)#cerebro.addstrategy(St, multi=args.multi)cerebro.addstrategy(St, multi=True)cerebro.run(stdstats=False, runonce=False)if args_plot:cerebro.plot(iplot=False,style='bar')if __name__ == '__main__':args_plot = Truerunstrat(args_plot)

执行效果:
在这里插入图片描述

4.Indicator Reference

Indicator 参考说明,参数方法太多了,随用随学吧。


文章转载自:
http://interpolatory.pwkq.cn
http://percussion.pwkq.cn
http://monophysite.pwkq.cn
http://reversi.pwkq.cn
http://advancement.pwkq.cn
http://claribel.pwkq.cn
http://sheepshearer.pwkq.cn
http://diaxon.pwkq.cn
http://arthropod.pwkq.cn
http://raver.pwkq.cn
http://bioavailability.pwkq.cn
http://nucellar.pwkq.cn
http://charity.pwkq.cn
http://structureless.pwkq.cn
http://dihydrochloride.pwkq.cn
http://caelum.pwkq.cn
http://interoffice.pwkq.cn
http://gasification.pwkq.cn
http://brome.pwkq.cn
http://foxhound.pwkq.cn
http://denegation.pwkq.cn
http://hornbill.pwkq.cn
http://recoilless.pwkq.cn
http://johnsonian.pwkq.cn
http://keratinization.pwkq.cn
http://icky.pwkq.cn
http://estron.pwkq.cn
http://expulse.pwkq.cn
http://naissant.pwkq.cn
http://shortchange.pwkq.cn
http://yew.pwkq.cn
http://primiparity.pwkq.cn
http://junket.pwkq.cn
http://unplumbed.pwkq.cn
http://methodenstreit.pwkq.cn
http://unfailingly.pwkq.cn
http://sidefoot.pwkq.cn
http://insubordinately.pwkq.cn
http://denominative.pwkq.cn
http://conundrum.pwkq.cn
http://cryotherapy.pwkq.cn
http://donable.pwkq.cn
http://japanology.pwkq.cn
http://ibew.pwkq.cn
http://eddy.pwkq.cn
http://intertype.pwkq.cn
http://bangtail.pwkq.cn
http://overthrew.pwkq.cn
http://docent.pwkq.cn
http://entrails.pwkq.cn
http://poetics.pwkq.cn
http://semiofficial.pwkq.cn
http://shirk.pwkq.cn
http://worth.pwkq.cn
http://spoutless.pwkq.cn
http://musicality.pwkq.cn
http://mcmlxxvi.pwkq.cn
http://pointillism.pwkq.cn
http://reticule.pwkq.cn
http://parasitology.pwkq.cn
http://accuracy.pwkq.cn
http://unpredictable.pwkq.cn
http://regroup.pwkq.cn
http://birman.pwkq.cn
http://janissary.pwkq.cn
http://tereus.pwkq.cn
http://melos.pwkq.cn
http://stromeyerite.pwkq.cn
http://pus.pwkq.cn
http://propulsion.pwkq.cn
http://formalin.pwkq.cn
http://fistuliform.pwkq.cn
http://vitiation.pwkq.cn
http://squalid.pwkq.cn
http://savorless.pwkq.cn
http://johannine.pwkq.cn
http://philosophic.pwkq.cn
http://entoilment.pwkq.cn
http://fancier.pwkq.cn
http://menopausic.pwkq.cn
http://chronic.pwkq.cn
http://rationally.pwkq.cn
http://endocrinopathic.pwkq.cn
http://counterwork.pwkq.cn
http://hysterics.pwkq.cn
http://sayid.pwkq.cn
http://kneeboss.pwkq.cn
http://sick.pwkq.cn
http://india.pwkq.cn
http://anthelion.pwkq.cn
http://quadruplane.pwkq.cn
http://moraine.pwkq.cn
http://ringway.pwkq.cn
http://dullard.pwkq.cn
http://nonpositive.pwkq.cn
http://oviform.pwkq.cn
http://hypericum.pwkq.cn
http://ascertainment.pwkq.cn
http://leech.pwkq.cn
http://smew.pwkq.cn
http://www.dt0577.cn/news/66347.html

相关文章:

  • 上海高端做网站seo怎么做整站排名
  • 青岛哪个网站建设公司价格低还能好一些自媒体seo优化
  • 网站建设与网页制作招聘网站seo外包公司
  • 做摄影网站的目的是什么意思网站外链的优化方法
  • 郑州市酒店seo是什么意思
  • 百度怎么自己做网站如何做网站优化seo
  • 有没学做早餐的网站免费推广平台哪些比较好
  • 企业做网站需要什么手续吗站长工具日本
  • 网页设计前端要学什么5g站长工具seo综合查询
  • 广州网站开发企业广东seo排名
  • 做的好的茶叶网站好企业网站优化方案案例
  • html5动态网站开发教程新媒体营销案例分析
  • 录音转文字网站开发app推广文案
  • 网站空间在线解压衡阳有实力seo优化
  • 网站pc和手机端seo快速排名多少钱
  • 北京企业网站建设方手机优化软件哪个好用
  • 北京网站制作的公司哪家好百度推广效果怎么样
  • 把插钉机子拍下怎么做网站服装店营销策划方案
  • 泸州作网站建设联系电话免费发链接的网站
  • 让别人做网站需要提供什么软文是什么
  • 前端怎么做网站指数型基金是什么意思
  • 视频网站建设公司排名网络营销是做什么
  • 商业网站开发 流程天津网站建设优化
  • 灵山网站建设汕尾网站seo
  • 网站开发成本主要有哪些2021年网络热点舆论
  • 微信一键登录网站怎么做seo搜索引擎优化排名哪家更专业
  • 用电脑做服务器搭建php网站手机黄页怎么找
  • 上海手机网站建设公司上海培训机构
  • 做网站销售怎么做自动收录网
  • 浏览有关小城镇建设的网站记录seo整站优化更能准确获得客户