Python/Pandas 计算 Ichimoku 图表组件

2024-01-11

我有 Pandas DataFrame 对象,其中包含日期、开盘价、收盘价、每日最低股票数据和最高股票数据。我想计算的组成部分Ichimoku https://www.investopedia.com/terms/i/ichimoku-cloud.asp图表。我可以使用以下代码获取我的数据:

high_prices = data['High']
close_prices = data['Close']
low_prices = data['Low']
dates = data['Date']  # contains datetime objects

我需要计算以下序列(Ichimoku 称之为 Tenkan-Sen 线):

(9 周期高点 + 9 周期低点)/ 2

  • 9周期高点=过去9天的最高点值,
  • 9周期低点=过去9天的最低低值, 所以两者都应该从第 9 天开始。

我找到了R语言的解决方案here http://www.r-bloggers.com/ichimoku-clouds-r-code-trading/,但是我很难将它翻译成Python/Pandas代码。

Ichimoku 图表包含更多组件,但是当我知道如何计算 Pandas 中的 Tenkan-Sen 线时,我将能够计算所有组件(我将分享代码)。


感谢之前的回答,有代码:

# Tenkan-sen (Conversion Line): (9-period high + 9-period low)/2))
period9_high = pd.rolling_max(high_prices, window=9)
period9_low = pd.rolling_min(low_prices, window=9)
tenkan_sen = (period9_high + period9_low) / 2

# Kijun-sen (Base Line): (26-period high + 26-period low)/2))
period26_high = pd.rolling_max(high_prices, window=26)
period26_low = pd.rolling_min(low_prices, window=26)
kijun_sen = (period26_high + period26_low) / 2

# Senkou Span A (Leading Span A): (Conversion Line + Base Line)/2))
senkou_span_a = ((tenkan_sen + kijun_sen) / 2).shift(26)

# Senkou Span B (Leading Span B): (52-period high + 52-period low)/2))
period52_high = pd.rolling_max(high_prices, window=52)
period52_low = pd.rolling_min(low_prices, window=52)
senkou_span_b = ((period52_high + period52_low) / 2).shift(26)

# The most current closing price plotted 22 time periods behind (optional)
chikou_span = close_prices.shift(-22) # 22 according to investopedia
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python/Pandas 计算 Ichimoku 图表组件 的相关文章

  • 如何在 Ubuntu 上安装 Python 模块

    我刚刚用Python写了一个函数 然后 我想将其做成模块并安装在我的 Ubuntu 11 04 上 这就是我所做的 创建 setup py 和 function py 文件 使用 Python2 7 setup py sdist 构建分发文
  • 如何用 python 和 sympy 解决多元不等式?

    我对使用 python 和 Sympy 还很陌生 并且遇到了使用 sympy 解决多元不等式的问题 假设我的文件中有很多函数 如下所示 cst sqrt x 2 cst exp sqrt cst x 1 4 log log sqrt cst
  • 如何自动替换多个文件的文本内容中的字符?

    我有一个文件夹 myfolder包含许多乳胶表 我需要替换其中每个字符 即替换任何minus sign by an en dash 只是为了确定 我们正在替换连字符INSIDE该文件夹中的所有 tex 文件 我不关心 tex 文件名 手动执
  • 无法包含外部 pandas 文档 Pycharm v--2018.1.2

    我无法包含外部 pandas 文档Pycharm v 2018 1 2 例如 numpy gt http docs scipy org doc numpy reference generated module name element na
  • python ttk treeview:如何选择并设置焦点在一行上?

    我有一个 ttk Treeview 小部件 其中包含一些数据行 如何设置焦点并选择 突出显示 指定项目 tree focus set 什么也没做 tree selection set 0 抱怨 尽管小部件明显填充了超过零个项目 但未找到项目
  • python中函数变量的作用域

    假设我们有两个函数 def ftpConnect ftp FTP server ftp login ftp cwd path def getFileList ftpConnect files ftp nlst print files 如果我
  • 如何使用 openpyxl 对工作簿中的 Excel 工作表/选项卡进行排序

    我需要按字母数字对工作簿中的选项卡 工作表进行排序 我在用openpyxl https openpyxl readthedocs io en default 操作工作表 您可以尝试排序workbook sheets list workboo
  • Python:随时接受用户输入

    我正在创建一个可以做很多事情的单元 其中之一是计算机器的周期 虽然我将把它转移到梯形逻辑 CoDeSys 但我首先将我的想法放入 Python 中 我将进行计数 只需一个简单的操作 counter 1 print counter 跟踪我处于
  • 使用 genfromtxt 导入 numpy 中缺失值的 csv 数据

    我有一个 csv 文件 看起来像这样 实际文件有更多的列和行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 假设文件的名称是info csv如果我尝试使用导入它 data numpy genfromtxt i
  • 在wxpython中使用wx.TextCtrl并在按钮单击后显示数据的简单示例 - wx新手

    我正在学习 python 并尝试使用 wxpython 进行 UI 开发 也没有 UI exp 我已经能够创建一个带有面板 按钮和文本输入框的框架 我希望能够在文本框中输入文本 并让程序在单击按钮后对输入框中的文本执行操作 我可以获得一些关
  • 在 Mac 上安装 Pygame 到 Enthought 构建中

    关于在 Mac 上安装 Pygame 有许多未解答的问题 但我将在这里提出我的具体问题并希望得到答案 我在 Mac 上安装 Pygame 时遇到了难以置信的困难 我使用 Enthought 版本 EPD 7 3 2 32 位 它是我的默认框
  • 使用循环将对象添加到列表(python)

    我正在尝试使用 while 循环将对象添加到列表中 基本上这就是我想做的 class x pass choice raw input pick what you want to do while choice 0 if choice 1 E
  • 在 pip.conf 中指定多个可信主机

    这是我尝试在我的中设置的 etc pip conf global trusted host pypi org files pythonhosted org 但是 它无法正常工作 参考 https pip pypa io en stable
  • 在pycharm中调试python代码

    这个问题类似于this https stackoverflow com questions 10240018 how to use pycharm to debug python script一 我正在尝试调试pyethapp https
  • WindowsError:[错误 5] 访问被拒绝

    我一直在尝试终止一个进程 但我的所有选项都给出了 Windows 访问被拒绝错误 我通过以下方式打开进程 一个python脚本 test subprocess Popen sys executable testsc py 我想杀死那个进程
  • 是否可以写一个负的python类型注释

    这可能听起来不合理 但现在我需要否定类型注释 我的意思是这样的 an int Not Iterable a string Iterable 这是因为我为一个函数编写了一个重载 而 mypy 不理解我 我的功能看起来像这样 overload
  • CSV 在列中查找最大值并附加新数据

    大约两个小时前 我问了一个关于从网站读取和写入数据的问题 从那时起 我花了最后两个小时试图找到一种方法来从输出的 A 列读取最大日期值 将该值与刷新的网站数据进行比较 并将任何新数据附加到 csv 文件而不覆盖旧的或创建重复项 目前 100
  • Google App Engine 中的自定义身份验证

    有谁知道或知道我可以在哪里学习如何使用 Python 和 Google App Engine 创建自定义身份验证流程 我不想使用 Google 帐户进行身份验证 并且希望能够创建自己的用户 如果不是专门针对 Google App Engin
  • 具有指定置信区间的 Seaborn 条形图

    我想在 Seaborn 条形图上绘制置信区间 但我已经计算出置信区间 如何让 Seaborn 绘制我的置信区间而不是尝试自行计算它们 例如 假设我有以下 pandas DataFrame x pd DataFrame Group 1 0 5
  • 如何识别图形线条

    我有以下格式的路径的 x y 数据 示例仅用于说明 seq p1 p2 0 20 2 3 1 20 2 4 2 20 4 4 3 22 5 5 4 22 5 6 5 23 6 2 6 23 6 3 7 23 6 4 每条路径都有多个点 它们

随机推荐

  • 访问 Jboss7 或 Wildfly 上的多个 Web 应用程序

    我知道我们可以在 JBoss 7 或 Wildfly 上部署多个 Web 应用程序 但是我们如何使用不同的端口访问不同的Web应用程序呢 我们在哪里为 Web 应用程序设置该端口 例如 application1 可在 x x x x 808
  • 在 OO 模型中添加双向关系的最佳实践

    我正在努力想出一种在面向对象模型中添加双向关系的好方法 假设有一个客户可以下很多订单 也就是说客户和订单类之间存在一对多关联 需要双向遍历 对于一个特定的客户 应该可以告诉所有客户他们已经下的订单 对于订单应该可以告诉客户 下面是一段 Ja
  • 使用 pytest 和假设进行异常处理和测试

    我正在编写带有假设的统计分析测试 假设使我得出一个ZeroDivisionError在我的代码中 当它传递非常稀疏的数据时 所以我调整了我的代码来处理异常 就我而言 这意味着记录原因并重 新引发异常 try val calc data ex
  • 在 SLComposeViewController 顶部显示附加图像

    将图像添加到 SLComposeViewController 时 该图像将显示在 SLComposeViewController 视图的右侧 然而 它显示在下面 如下面的层中 另一个看起来像指南针的默认图像 最上面是一个剪辑 这个指南针图像
  • 如何通过单击按钮以编程方式退出应用程序

    我想通过单击按钮退出应用程序 单击按钮的代码是 quitBtn setOnClickListener new View OnClickListener Override public void onClick View paramView
  • 有哪些工具可用于调试/单步执行正则表达式?

    虽然有很多好的在线和离线测试正则表达式的工具 但我还没有找到一个工具 除了正则表达式好友 http www regexbuddy com 让我看到正则表达式引擎查找匹配项 或就此而言查找不存在匹配项 所采取的步骤 有谁知道有什么工具可以做到
  • 使用 Angular 路线时不显示 Stripe Checkout 按钮

    我目前正在尝试实现标准的 Stripe Payments 结账对话 当我插入短片时
  • 尝试将照片上传/发布到群组时出现 OAuthException

    我目前正在尝试通过应用程序将照片上传到页面和组 我有这些代码 try facebook gt setFileUploadSupport true args array message gt This is my image caption
  • 如何处理 Git 存储库中的图像?

    我继承了一个中等规模的 iOS 项目 大约 30 000 行代码 它有一个insane图像资产的数量 当然我们使用Git Github来进行scm 目前 图像包含在目录树中 因此被提取到存储库中 使其变得臃肿并且通常使开发变得非常令人头疼
  • Chrome 的“请求桌面站点”选项如何工作?

    对于 iOS 谷歌浏览器 当用户点击 请求桌面站点 按钮时 浏览器会做什么来尝试打开桌面站点 我想象网站正在寻找的请求上有某种标头 或者类似的东西 我认为唯一的区别是User Agent 请求中的标头 以下是我的 Android 设备上的
  • Rails JSON 请求未正确解析为 post 参数

    我正在尝试调试 Rails 未解码 JSON POST 数据的问题 服务器日志显示 2011 12 14T06 44 44 00 00 app web 2 Started POST 2011 12 14T06 44 44 00 00 app
  • 具有参数化构造函数的 Xamarin DependencyService

    如何使用 Xamarin Forms DependencyService 通过参数化构造函数注入依赖项 Answer 你不能 程序集属性实现仅适用于默认构造函数 也称为无参数构造函数 例如 assembly Dependency typeo
  • 使用 java 在 infix 到 postfix 应用程序中得到错误的输出

    我最近编写了一个java程序 它采用中缀表达式并将其转换为后缀表达式 它在大多数情况下都有效 但我得到了某些表达式的错误输出 例如表达式 a b c d e 在应该输出的时候会输出 abcde a b c d e import java u
  • Visual Studio“在浏览器中查看”特定页面的快捷方式?

    我们正在使用视觉工作室2008并想知道是否有办法为 创建 键盘或工具栏 快捷方式在浏览器中查看 命令 但是与特定页面来自特定 已加载 项目 我们总是从 Project x 的 Somepage aspx 开始测试 调试我们的应用程序 我想创
  • 不使用过滤函数删除 RDD 中的第一个元素

    我从一个文件构建了一个 RDD 其中 RDD 中的每个元素都是文件中由分隔符分隔的部分 val inputRDD1 RDD String Long myUtilities paragraphFile spark path1 coalesce
  • yii2 路由 - 将参数传递给规则中的路由

    当用户访问domain page 我需要将它们路由到controller action 100 我不想通过 URL 传递任何参数 但想将其添加到 url 规则中 我将下面的代码添加到我的配置文件中 urlManager gt rules g
  • bootstrap下拉顶级导航制作可点击的链接

    我正在使用 bootstrap wordpress 主题创建一个带有下拉菜单的菜单 但是顶级链接仅在单击时显示下拉菜单 并且单击时不会转到页面本身 因此 在 www thermoryuk co uk wp 中 当我单击 地板 时 我想转到地
  • 为什么解释器模式很糟糕?

    In Steve Yegge 对设计模式的评论 http steve yegge googlepages com ten great books 他将解释器模式称为 笑话 他继续谈论编译器的看法如何改变 但解释语言仍然如何继续 尽管我看不出
  • 正则表达式中的捕获组[重复]

    这个问题在这里已经有答案了 我正在探索在正则表达式中捕获组 但我对缺乏相关文档感到困惑 例如 谁能告诉我两个正则表达式之间的区别 madhur and madhur 就我而言 第二个建议匹配madhur字符串中零次或一次 第一个与第二个有什
  • Python/Pandas 计算 Ichimoku 图表组件

    我有 Pandas DataFrame 对象 其中包含日期 开盘价 收盘价 每日最低股票数据和最高股票数据 我想计算的组成部分Ichimoku https www investopedia com terms i ichimoku clou