分类
加密貨幣去哪裡買

BBands与RSI复合指标组合

代码先锋网 代码片段及技术文章聚合

Mybatis配置文件引入MySQL数据源的三种方式&&映射文件配置的三种方式 这里是MySQL数据源的引入方式示例,其中还在每段代码的下面示范了映射文件配置的三种配置示例。 方式一:最基础的配置方式 方式二:通过resource属性引入类路径下的配置文件 方式三:通过url属性引入任意路径下的配置文件.

解决 - java.lang.OutOfMemoryError: unable to create new native thread

工作中碰到过这个问题好几次了,觉得有必要总结一下,所以有了这篇文章,这篇文章分为三个部分:认识问题、分析问题、解决问题。 一、认识问题: 首先我们通过下面这个 BBands与RSI复合指标组合 测试程序 来认识这个问题: 运行的环境 (有必要说明一下,不同环境会有不同的结果):32位 Windows XP,Sun JDK 1.6.0_18, eclipse 3.4, 测试程序: Java代码 importjava.util.con.

equals原理

在java中,"=="和"equals()"区别是什么? 恐怕大多数人都会回答,第一个是用来比较地址,第二个是用来比较内容的吧。这个回答并不准确 例如 输出的结果为false,而用String输出的却是true 这是为什么呢? 查看object的qeuals方法发现 Object的equals方法就是使用"=="来比较对象和传入的参数的。.

零起点Python大数据与量化交易 下载 mobi epub pdf 电子书 2022

2014年,美国银行、美林证券的“石英”项目、摩根大通的“雅典娜”项目都不约而同地选择了Python作为金融行业的标准编程语言。
全世界的金融工程行业全部重新洗牌,这为中国的金融工程从业人员带来了前所未有的机遇。资本的力量是强大的,也是冷酷无情的。 BBands与RSI复合指标组合
2016年5月,《华尔街日报》报道,目前华尔街的三大编程语言是:C、Java与Python。其中,C与Java成为三大语言之一有两方面原因:一方面是由于历史积累,另一方面是系统架构设计的需要。而在应用领域Python更胜一筹,因为Python已经成为金融行业量化领域的标准编程语言。
本书是国内较早关于Python大数据与量化交易的原创图书。本书配合zwPython、zwQuant开源量化软件学习,是一套完整的大数据分析、量化交易的学习教材,可直接用于实盘交易。
本书内容包括:
近50万字的图文课件;
数十套结合课件的Python教学代码;
全套zwPython开源平台;
业内首套面向初学者的开源量化系统zwQuant;
国内较大的开源金融数据包zwDat,包括tick数据。
100%零基础,无须任何编程、交易经验,也不需要具备超强的数据分析能力,只要会使用Excel就可以轻松学会本书讲解的知识点。读完本书内容和配套的教学代码,就能够编写简单的量化策略函数。

python获取股票实时行情之后如何快速计算技术指标?

(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

请选择以下任一种方式输入命令安装依赖
1. Windows 环境 打开 Cmd (开始-运行-CMD)。
2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。3. 如果你用的是 VSCode编辑器 BBands与RSI复合指标组合 或 Pycharm,可以直接使用界面下方的Terminal.

安装TA-Lib的时候可能会遇到没有VC++14.0的报错,这时候我们需要手动安装,在 https://www. lfd.uci.edu/~gohlke/pyt honlibs/#ta-lib 中下载你对应的Python版本的 TA-Lib whl文件。

2.基本使用

默认情况下,pandas ta 取 open 、high、low、close、volumeadj_close 列作为指标参数,本文的列名正好对应的上,无需再去特别命名。

aberration, above, above_value, accbands, ad, adosc, adx, alma, amat, ao, aobv, BBands与RSI复合指标组合 apo, aroon, atr, bbands, below, below_value, bias, bop, brar, cci, cdl_pattern, cdl_z, cfo, cg, chop, cksp, cmf, cmo, coppock, cross, cross_value, cti, decay, decreasing, dema, dm, donchian, dpo, ebsw, efi, ema, entropy, eom, er, eri, fisher, fwma, ha, hilo, hl2, hlc3, hma, hwc, hwma, ichimoku, increasing, inertia, jma, kama, kc, kdj, kst, kurtosis, kvo, linreg, log_return, long_run, macd, mad, massi, mcgd, median, mfi, midpoint, midprice, mom, natr, nvi, obv, ohlc4, pdist, percent_return, pgo, ppo, psar, psl, pvi, pvo, pvol, pvr, BBands与RSI复合指标组合 pvt, pwma, qqe, qstick, quantile, rma, roc, BBands与RSI复合指标组合 rsi, rsx, rvgi, rvi, short_run, sinwma, skew, slope, sma, smi, squeeze, squeeze_pro, ssf, stc, stdev, stoch, stochrsi, supertrend, swma, t3, td_seq, tema, thermo, tos_stdevall, trima, trix, true_range, tsi, tsignals, ttm_trend, ui, uo, variance, vhf, vidya, vortex, vp, vwap, vwma, wcp, willr, wma, xsignals, zscore

这里的值如果出现 100 ,就是出现DOJI形态。支持以下全部蜡烛形态:

2crows, 3blackcrows, 3inside, 3linestrike, 3outside, 3starsinsouth, 3whitesoldiers, abandonedbaby, advanceblock, belthold, breakaway, closingmarubozu, concealbabyswall, counterattack, darkcloudcover, doji, dojistar, dragonflydoji, engulfing, eveningdojistar, BBands与RSI复合指标组合 eveningstar, gapsidesidewhite, gravestonedoji, hammer, hangingman, harami, haramicross, BBands与RSI复合指标组合 highwave, hikkake, hikkakemod, homingpigeon, identical3crows, inneck, inside, invertedhammer, kicking, kickingbylength, ladderbottom, longleggeddoji, longline, marubozu, matchinglow, mathold, morningdojistar, morningstar, onneck, piercing, rickshawman, risefall3methods, separatinglines, shootingstar, shortline, spinningtop, stalledpattern, sticksandwich, takuri, BBands与RSI复合指标组合 tasukigap, thrusting, tristar, unique3river, upsidegap2crows, xsidegap3methods

backtrader股票技术指标自定义与量化回测

import backtrader as BBands与RSI复合指标组合 bt
import pandas as pd
import numpy as np
import tushare as ts
def get_data(code,start='2010-01-01',end='2020-08-31'):
df=ts.get_k_data(code,autype='BBands与RSI复合指标组合 BBands与RSI复合指标组合 qfq',start=start,end=end)
df.index=pd.to_datetime(df.date)
df['openinterest']=0
df=df'open','high','low','close','volume','openinterest'
return df

def __init__(self):
bt.ind.MACD(self.data)
bt.ind.MACDHisto(self.data)
bt.ind.RSI(BBands与RSI复合指标组合 self.data,period=14)
bt.ind.BBands(self.data)

def main(data,strategy,pf=False):
cerebro = bt.Cerebro()
feed = bt.feeds.PandasData(dataname=data)
cerebro.adddata(feed)
#加载策略
cerebro.addstrategy(strategy)
# 设置初始资本为10,000
startcash = 100000
cerebro.broker.setcash(startcash)
# 设置交易手续费为 0.1%
cerebro.broker.setcommission(commission=0.001)
cerebro.run()
#获取回测结束后的总资金
portvalue = cerebro.broker.getvalue()
pnl = portvalue - startcash
if pf:
print(f'BBands与RSI复合指标组合 总资金: < round(portvalue,2) >')
print(f'净收益: < round(pnl,2) >')
%matplotlib inline
cerebro.plot()

class TradeStrategy(bt.Strategy): BBands与RSI复合指标组合 BBands与RSI复合指标组合
params=(('p1',12),('p2',26),('p3',9),)
def __init__(self):
self.order = None
#获取MACD柱
self.macdhist = bt.ind.MACDHisto(self.data,
period_me1=self.p.p1,
period_me2=self.p.p2,
period_signal=self.p.p3)
def next(self):
if not self.position:
# 得到当前的账户价值
total_value = self.broker.getvalue()
#1手=100股,满仓买入
ss=int((total_value/100)/self.datas[0].close[0])*100
#当MACD柱大于0(红柱)且无持仓时满仓买入
if self.macdhist > BBands与RSI复合指标组合 0:
self.order=self.buy(size=ss)
else:
#当MACD柱小于0(绿柱)且持仓时全部清仓 BBands与RSI复合指标组合
if self.macdhist < 0:
self.close()

#期初资金:100000
#期末资金: 225440.47
#净收益: 125440.47

03 自定义指标

lines = ('mid','top','bot',)
params = (('maperiod',20),
('period',3),
('highRate',1.2),
('lowRate',0.BBands与RSI复合指标组合 85),)
#与价格在同一张图
plotinfo = dict(subplot=False)

def __init__(self):
ema = bt.ind.EMA(BBands与RSI复合指标组合 self.data, period=self.p.maperiod)
#计算上中下轨线
self.l.mid=bt.ind.EMA(ema,period=self.p.period)
self.l.top=bt.ind.EMA(self.mid*self.p.highRate,\
period=self.p.period)
self.l.bot=bt.ind.EMA(self.mid*self.p.lowRate,\
period=self.p.period)
super(TrendBand, self).__init__()

class TestStrategy2(bt.Strategy):
def __init__(self):
TrendBand(self.data)

class MyStrategy(bt.Strategy):
params=(('period',20),)
def __init__(self):
self.order = None
self.mid = TrendBand(self.data).mid
self.top = TrendBand(self.data).top
self.bot = TrendBand(self.data).bot
#设置买入信号
self.buy_sig=bt.And(\
self.data.close>self.mid,\
self.data.BBands与RSI复合指标组合 volume==bt.ind.Highest(\
self.data.volume,period=self.p.period))
#卖出信号
self.sell_sig=self.data.close>self.top
def next(self):
if not self.position:
# 得到当前的账户价值
total_value = self.broker.getvalue()
#1手=100股,满仓买入
ss=int((total_value/100)/self.datas[0].close[0])*100
if self.buy_sig:
self.order=self.buy(size=ss)
else:
if self.sell_sig:
self.close()

#期初资金:100000.00
#期末资金: 398949.39
#净收益: 298949.39

04 结语

本文主要介绍了backtrader回测框架中indicators的调用、自定义指标的编写以及历史回测。其中自定义指标主要是示例作用,不构成任何投资建议。历史回测中仅以中国平安个股为例,具有一定的局限性,感兴趣的读者可以参考组合回测那篇推文,对全市场股票进行组合回测以进一步判断自定义指标的实用性。最后再强调一句,学习没有捷径,要想全面而深入地学习backtrader回测框架,最好的方法是研读其官方文档。公众号后台回复“backtrader”可获取《backtrader入门指南》的中文文档