ema

瀑布线交易策略在发明者量化平台的实现与应用

女生的网名这么多〃 提交于 2020-03-04 10:02:07
瀑布线的定义 瀑布线是指用异同移动平均线(MACD)指标绘制的移动平均线,用于在证券中生成买入和卖出信号。瀑布线或信号线是交易者用来预测未来价格趋势的MACD指标线的九个周期指数移动平均线(EMA)。虽然九周期EMA是瀑布线的默认设置,但交易者可以调整EMA的长度以适应其交易标的和策略。 瀑布线的意义 瀑布线提供了何时进行多头或空头开仓的技术见解。当瀑布线越过或低于(EMA)指标时,交易者会以此进场和平仓。当EMA越过瀑布线时,产生买入信号,表明交易者应该买入开仓。相反,如果EMA跌破瀑布线,则表示看跌趋势,交易者应该做空。 使用瀑布线的好处 快速响应:瀑布线有助于尽早发现趋势反转,这使其成为短期交易者特别有用的工具。由于瀑布线使用九个周期的EMA,因此它可以相对快速地响应价格变化。这有助于抵消指标的滞后性质。 用瀑布线使交易决策系统化。交易者可以保持在一个方向,直到瀑布线在相反方向穿过MACD。例如,如果当EMA越过瀑布线时保持多头头寸,交易者可以在这些位子只做多头交易,直到MACD穿过瀑布线以下。通过瀑布线产生的信号进入和退出市场会阻止交易者进行二次猜测或乱做决定。 在震荡的市场中,瀑布线会经常交叉EMA并产生许多假的买卖信号。为了避免这种情况,交易者可以尝试添加别的技术指标进行佐证。例如,当EMA越过瀑布线时,必须要求成交量指数(MFI)超卖

VB计算MACD指标详细编码

。_饼干妹妹 提交于 2020-02-27 00:16:12
MACD指标的含义、用法及计算原理,请自己百度不啰嗦,直接上干货-代码如下: Set rstStockHistroy = dbsDatabase.OpenRecordset("SELECT...... ", dbOpenDynaset) rstStockHistroy.MoveLast intrecordcounter = rstStockHistroy.RecordCount rstStockHistroy.MoveFirst 'MsgBox ("记录:" & rstStockHistroy(0).Value) For intcounter = 1 To intrecordcounter '从上市首日开始计算 If intcounter = 1 Then '上市首日 rstStockHistroy.Edit rstStockHistroy(9) = 0 'DIFF rstStockHistroy(10) = 0 'DEA rstStockHistroy(11) = 0 'BAR rstStockHistroy.Update End If If intcounter = 2 Then '上市次日 rstStockHistroy.MovePrevious sigPreClose = rstStockHistroy(2) sigPreDEA = rstStockHistroy(10)

【技术指标】MACD详解

梦想与她 提交于 2019-12-25 22:29:52
MACD指标 算法原理 一、DIF的实质 DIF=收盘价的短期指数移动平均与长期指数移动平均的差值,当两条EMA线交叉时,DIF线正好穿越0轴。 1、DIF上穿0轴,表明EMA(CLOSE,SHORT)线上穿EMA(CLOSE,LONG)线,市场处于多头行情中。 2、DIF下穿0轴,表明EMA(CLOSE,SHORT)线下穿EMA(CLOSE,LONG)线,市场处于空头行情中。 二、DIF的波幅 短期EMA与长期EMA对于当前价格变动的敏感性是不同的,短期EMA对于当前价格变动的反应总是较长期EMA更为敏感。也就是说,当前价格的变动总是首先在短期EMA中得到反应,然后才会在长期EMA中得到反应。 只有当价格在近期变动比较剧烈时,DIF的值才会较大,因此,DIF指标也是一个乖离率指标。不要用DIF值的拐头来作预测,事实上,DIF的拐头远没有穿越0轴更有意义。 三、趋势跟随法 趋势跟随法:中长线的趋势跟随方法,短线客还需优化。 在DIF上穿0轴时买入。 如DIF不跌穿0轴,则持有。 一直到DIF向下跌穿0轴,一量跌穿,则卖出。 四、DEA线 DEA:EMA(DIF,MID);DEA线是DIF线的MID日(标准参数是9日)的指数移动平均线。 当DIF线处于DEA线之上,且DIF线处于0轴以上(即处于多头行情中)时,表明多头行情仍然会得以持续。 当DIF线处于DEA线之下

JoinQuant策略代码示例

爱⌒轻易说出口 提交于 2019-12-24 11:46:47
总体回测前 ''' ================================================================================ 总体回测前 ================================================================================ ''' #总体回测前要做的事情 def initialize(context): set_params() #1设置策参数 set_variables() #2设置中间变量 set_backtest() #3设置回测条件 #1 #设置策略参数 def set_params(): g.tc=15 # 调仓频率 g.N=4 #持仓数目 g.security = ["000001.XSHE","000002.XSHE","000006.XSHE","000007.XSHE","000009.XSHE"]#设置股票池 #2 #设置中间变量 def set_variables(): return #3 #设置回测条件 def set_backtest(): set_option('use_real_price', True) #用真实价格交易 log.set_level('order', 'error') 每天开盘前 ''' ========

聚宽源码43

戏子无情 提交于 2019-12-11 14:56:35
原文策略源码如下: Get API 新技能,研究中写策略并回测 def initialize(context): set_params() #1设置策参数 set_variables() #2设置中间变量 set_backtest() #3设置回测条件 g.long_day = 60 # 长均线天数 g.short_day = 120 # 短均线天数 #1 #设置策略参数 def set_params(): g.tc=15 # 调仓频率 g.N=4 # 持仓数目 g.security = [“000001.XSHE”,“000002.XSHE”,“000006.XSHE”,“000007.XSHE”,“000009.XSHE”]#设置股票池 #2 #设置中间变量 def set_variables(): return #3 #设置回测条件 def set_backtest(): set_option(‘use_real_price’, True) #用真实价格交易 log.set_level(‘order’, ‘error’) ‘’’ 每天开盘前 ‘’’ #每天开盘前要做的事情 def before_trading_start(context): set_slip_fee(context) #4 根据不同的时间段设置滑点与手续费 def set_slip_fee(context):

使用EXCEL计算并绘制MACD指标

与世无争的帅哥 提交于 2019-12-06 10:12:36
在本文的底部,各位读者可以获取对应的EXCEL模板。 一、MACD指标的含义与原理 MACD是由快的指数移动平均线EMA(12)减去慢的指数移动平均线EMA(26)得到快线DIF,再用2×(快线DIF-DIF的9日加权移动均线DEA)得到MACD柱。 MACD的变化代表着市场趋势的变化,不同K线级别的MACD代表当前级别周期中的买卖趋势。 二、EXCEL中实现 EXCEL中,可以直接用金融函数库插件快速的计算出MACD指标。但为了便于理解,手工计算其实也很方便。 下面演示一下手工计算的过程。 步骤一:从通达信导入平安银行(000001.SZ)的历史交易数据 为简便起见,交易数据仅用到收盘价。 步骤二:计算MACD指标 1:C列 EMA(12):具体可以参考我上一篇文章,EMA的计算 2:D列 EMA(26) 3:E列MACD:当日C列-D列,即EMA(12)-EMA(26) 4:F列Singal:=(当日的MACD(2/(9+1))+昨日的Singal(1-(2/(9+1)))) 5:G直方图Histogram:当日的E列MACE-F列Singal 步骤三:绘制EXCEL图表。如下: XLS文件模板可以在百度网盘中获取。 链接: https://pan.baidu.com/s/1I3dHp9aepxj7TeybTgUxpQ 提取码: n964 来源: https://www

Numpy version of “Exponential weighted moving average”, equivalent to pandas.ewm().mean()

匿名 (未验证) 提交于 2019-12-03 01:27:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: How to get the exponential weighted moving average in numpy just like in pandas : import pandas as pd import pandas_datareader as pdr from datetime import datetime #declare variables ibm = pdr.get_data_yahoo(symbols='IBM', start=datetime(2000, 1, 1), end=datetime(2012, 1, 1)).reset_index(drop=True)['Adj Close'] windowSize = 20 #get PANDAS exponential weighted moving average ewm_pd = pd.DataFrame(ibm).ewm(span=windowSize, min_periods=windowSize).mean().as_matrix() print(ewm_pd) tried the following with numpy import numpy as np import pandas

Gradient Descent with Momentum

匿名 (未验证) 提交于 2019-12-03 00:40:02
在Batch Gradient Descent及Mini-batch Gradient Descent, Stochastic Gradient Descent(SGD)算法中,每一步优化相对于之前的操作,都是独立的。每一次迭代开始,算法都要根据更新后的Cost Function来计算梯度,并用该梯度来做Gradient Descent。 Momentum Gradient Descent相较于前三种算法,虽然也会根据Cost Function来计算当前的梯度,但是却不直接用此梯度去做Gradient Descent。而是赋予该梯度一个权值,并综合考虑之前N次优化的梯度,得到一个加权平均的移动平均值(Weighted Moving Average),并以此来作为Gradient Descent的参数。 这里使用Exponential Moving Average(EMA)来计算该加权平均值,公式为: dW为本次计算出的梯度值,beta是衰减因子。如果将上式展开,可以得到: 根据β值的大小,可以得出大致纳入考虑范围的步数为1/(1-β),β值越大,步数约多,反之则窗口约窄。 EMA算法的优点: 1.EMA会减小算法的震荡 2.在实现上也非常有效率,比起Simple Moving Average,EMA所用的存储空间小,并且每次迭代中使用一行代码即可实现。 不过

常见攻击方式

匿名 (未验证) 提交于 2019-12-02 23:34:01
1. Side channel attacks A). Simple power analysis(SPA) B). Differential power analysis(DPA) C). Differential fault analysis(DFA) D). Higher Order DPA E). EMA attacks F). Differential EMA attacks(DEMA) 2. Physical attacks A). Hardware reverse engineering B). Probing 3. Perturbation attacks A). Voltage glitch B). Laser glitch 4. Explotation fo test features A). Re-enable some on-chip test functions to read out secrets Software attacks A). Explore software bugs and/or security holes in API Differential fault analysis side channel attack cryptography cryptanalysis faults ―unexpected environmental

【学习笔记】Devils in BatchNorm

喜夏-厌秋 提交于 2019-11-27 22:57:29
Devils in BatchNorm Facebook人工智能实验室研究工程师吴育昕 该视频主要讨论Batch Normalization的一些坑。 Batch Norm后还有一个channel-wise仿射,是一个退化的卷积层,这里不讨论。 Batch Norm的训练和测试具有不一致性,测试时vanilla BN方法是更新一个exponential moving average,也就是图中的 \(u_{EMA}\) 为什么可以训练和测试不一致? DropOut和Data Augmentation也是这样——可以理解为训练是在测试的基础上加噪声,测试是训练的平均。 不过噪声本身也是一种正则化。 BN什么时候会失败? 当 \(\mu_{EMA}\) , \(\sigma_{EMA}\) 不接近 \(\mu_{B}\) 时, \(\sigma_{B}\) 当EMA计算不合理 当$ \mu_{B} \(,\) \sigma_{B}$不稳定时 - 不能很好地近似 a)数据不稳定 b)不稳定的模型 EMA计算不合理的情况 \[\mu_{E M A} \leftarrow \lambda \mu_{E M A}+(1-\lambda) \mu_{B}, \sigma_{E M A}^{2} \leftarrow \cdots \] \(\lambda\) 过小,EMA \(\lambda\)