当前位置: 首页 > 面试题库 >

python pandas的相对强度指数

公西永嘉
2023-03-14
问题内容

我是pandas新手。计算熊猫的RSI指标中相对强度部分的最佳方法是什么?到目前为止,我得到以下信息:

from pylab import *
import pandas as pd
import numpy as np



def Datapull(Stock):
    try:
        df = (pd.io.data.DataReader(Stock,'yahoo',start='01/01/2010'))
        return df
        print 'Retrieved', Stock
        time.sleep(5)
    except Exception, e:
        print 'Main Loop', str(e)


def RSIfun(price, n=14):
    delta = price['Close'].diff()
    #-----------
    dUp=
    dDown=

    RolUp=pd.rolling_mean(dUp, n)
    RolDown=pd.rolling_mean(dDown, n).abs()

    RS = RolUp / RolDown
    rsi= 100.0 - (100.0 / (1.0 + RS))
    return rsi

Stock='AAPL'
df=Datapull(Stock)
RSIfun(df)

到目前为止,我做得对吗?我在方程式的差异部分遇到麻烦,您在其中分开了向上和向下的计算


问题答案:

dUp= delta[delta > 0]
dDown= delta[delta < 0]

您还需要类似:

RolUp = RolUp.reindex_like(delta, method='ffill')
RolDown = RolDown.reindex_like(delta, method='ffill')

否则RS = RolUp / RolDown不会做你想要的

编辑: 似乎这是RS计算的一种更准确的方法:

# dUp= delta[delta > 0]
# dDown= delta[delta < 0]

# dUp = dUp.reindex_like(delta, fill_value=0)
# dDown = dDown.reindex_like(delta, fill_value=0)

dUp, dDown = delta.copy(), delta.copy()
dUp[dUp < 0] = 0
dDown[dDown > 0] = 0

RolUp = pd.rolling_mean(dUp, n)
RolDown = pd.rolling_mean(dDown, n).abs()

RS = RolUp / RolDown


 类似资料:
  • 问题内容: 我知道什么是绝对位置和相对位置,但是我仍然不清楚一些要点。以供参考 CSS: 的HTML: 现在的要点是: 相对div自动采用100%宽度,但绝对div仅采用内容宽度。为什么? 当我给高度100%时,相对div无效,但绝对div的高度为100%。为什么? 当我给margin-top:30px时,它也偏移绝对div,但是当我给top:30px时,则只有相对div偏移。为什么? 当我不给绝

  • 问题内容: 我目前正在相对于当前窗口位置说明templateUrl。 如何使templateUrl相对于应用程序的根目录?我正在寻找这样的东西: AngularJS可以做到吗? 问题答案: 看起来受支持了。取自AngularJS Google Group上的 一个线程: 带有“ /”前缀的URL相对于域,没有“ /”前缀的URL相对于主页(“ index.html”)页面或基本URL(如果在htm

  • 本文向大家介绍jQuery插件passwordStrength密码强度指标详解,包括了jQuery插件passwordStrength密码强度指标详解的使用技巧和注意事项,需要的朋友参考一下 passwordStrength插件能够根据用户输入的密码,以图形化方式显示密码的强度。 上例用到一个图片: 执行效果图: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 问题内容: 我正在构建一个角度指令,它将在几个不同的位置使用。我不能总是保证使用该指令的应用程序的文件结构,但是我可以强制用户将和(而不是真实的文件名)放在同一文件夹中。 页面评估时,会认为相对于自身。是否可以将设置为相对于文件? 还是建议仅在指令本身中包含模板。 我想我可能想根据不同的情况加载不同的模板,因此宁愿能够使用相对路径而不是更新 问题答案: 当前正在执行的脚本文件将始终是scripts

  • 我漫不经心地阅读了英特尔架构参考手册,http://www.cs.princeton.edu/courses/archive/spr12/cos217/reading/ia32opt.pdf,当我阅读指令延迟和吞吐量附录时,我发现sqrt指令的延迟(执行核心完成所有构成指令的μops的执行所需的时钟周期数。)与除法(第C-28页)指令的延迟完全相同——至少对于某些微架构来说。数字分别是30、40和

  • 我有一个JDialog,里面只有几个组件。我想使对话尽可能小。目前我使用的是pack()。这有一个意想不到的效果,就是将对话框的宽度缩小了很多,以至于标题不再完全在视野中。我希望对话框的宽度总是很大,这样标题总是完全在视野中。 我在用秋千。我意识到标题栏外观/FONT是由操作系统决定的。我更喜欢使用swing,所以目前我打算根据JLabel的字体计算标题字符串的宽度。然后我将设置我的一个组件的最小