zoukankan      html  css  js  c++  java
  • 如何使用Excel绘制砖型图Renko Charts

    上一篇文章介绍了砖型图Renko Charts。

    砖型图Renko Charts相对于K线,剔除了各种噪音,且只有红和绿两种形态(0,1),非常适合机器学习,进行量化分析,从而发现规律,作出策略。

    现在还没找到哪个股票软件或平台,提供这种工具。
    鉴于目前国内相应的策略还较少,值得进一步做量化研究。

    今天尝试了用Excel实现,方式跟网格交易策略差不多。
    下面是具体的方法。

    假设砖块大小为E2单元格=5元。在名称管理器中定义为Brick=E2。

    需要4列来实现

    • 第一列:日期,从1月1日开始-

    • 第二列:收盘价。假定1月1日为100元(B5),之后采用随机函数Rand生成价格
      函数公式为:

    第二日价格B6=ROUND(B5+10*(RAND()-0.5), 2)
    
    • 第三列:计算上一日的Renko价格
      按照Renko价格的定义,逻辑是:
      如上一日收盘价为99,变动小于5,则Renko价格仍为100;
      • 如收盘价为93,则Renko价格为95
      • 如收盘价为100-109之间,则Renko价格仍为100;(因为第一个方块本身高度就有5)
      • 如收盘价为114,则Renko价格为110

    公式直接采用IF或IFS逻辑嵌套函数,是最简单的方法,但比较罗嗦。
    我用了更简单的公式,即用LOOKUP函数,返回第五列前一日的最后一个数字。
    第N日的Renko价格为

    第2日的的Renko价格C6=LOOKUP(9.99999999999999E+307, E$5:E5)
    向下自动填充
    第10日的Renko价格C14=LOOKUP(9.99999999999999E+307, E$5:E13)
    

    其中9.99999999999999E+307代表无穷大,即在EXCEL中可以录入的最大数字。

    • 第4-6列:为{砖块日期,砖块价格,UP/DOWN},定义为一组数组。
      直接采用IF函数:只有当天的Renko价格有变化才返回,无变化不返回
    第二日{D6,E6,F6}为:
    {=IF(B6<=C6-Brick, CHOOSE({1,2,3}, A6, C6-Brick, "Down"), IF(B6>=C6+Brick, CHOOSE({1,2,3}, A6, C6+Brick, "Up"), ""))}
    

    分别返回日期A6,砖块价格C6+brick, UP/DOWN
    brick为E2单元格定义的砖块大小5

    然后绘制表格。

    具体结果如下:

    在这里插入图片描述

    XLS文件模板可以在百度网盘中获取。
    链接: https://pan.baidu.com/s/1ehDdeTNKuMaVHhx67F3tUA
    提取码: 2ah4

    ps://pan.baidu.com/s/1ehDdeTNKuMaVHhx67F3tUA
    提取码: 2ah4

    欢迎关注我的专栏:Excel做量化

  • 相关阅读:
    sql server 2005 设置用于复制的文本类型大小 [转]
    C#模拟post提交的实现方法
    项目经理角色定位
    无线不能连接 源于Wireless Zero Configuration服务不能自动启动
    软件版本Beta,RC,Demo,Build等是什么意思呢?
    用PUSHD/POPD获得bat文件执行的路径
    Windows下在本机创建SVN服务
    phpAmin如何导入导出大数据文件?
    整理的英语短语
    [转]项目管理心得:一个项目经理的个人体会、经验总结
  • 原文地址:https://www.cnblogs.com/excelquant/p/11960225.html
Copyright © 2011-2022 走看看