我有一些基于每日收盘价的股票数据。我需要能够将这些值插入到python列表中,并获得最后30次关闭的中间值。有没有这样做的Python库?蟒蛇的滚动中位数
蟒蛇的滚动中位数
回答
你有没有考虑pandas?它基于numpy
,并且可以自动将时间戳与您的数据相关联,并且只要您填写numpy.nan
即可丢弃任何未知日期。它还通过matplotlib提供了一些非常强大的图形。
基本上它是为python中的财务分析而设计的。
不错:http://pandas.sourceforge.net/generated/pandas.stats.api.rolling_median.html?highlight=median#pandas.stats.api.rolling_median – 2011-03-30 12:45:01
在纯Python,具有在Python列表a
你的数据,你可以做
median = sum(sorted(a[-30:])[14:16])/2.0
(假设a
至少有30项。)
使用NumPy的包,你可以使用
median = numpy.median(a[-30:])
是不是中位值在一个有序范围内?
因此,假设您的列表是stock_data
:
last_thirty = stock_data[-30:]
median = sorted(last_thirty)[15]
现在,你只需要得到发现并修复该关闭的情况的一个错误,也处理的stock_data
小于30元的情况下...
让我们试着在这里一点:
def rolling_median(data, window):
if len(data) < window:
subject = data[:]
else:
subject = data[-30:]
return sorted(subject)[len(subject)/2]
对于具有偶数个值的列表,中位数是两个中间值的平均值。 – 2011-03-30 12:39:13
- 1. 使用硒蟒蛇的滚动窗口
- 2. 蟒蛇位置参数
- 3. 硒蟒蛇:如何滚动div
- 4. 硒:滚动页面来与蟒蛇
- 5. 蟒蛇中的滚动条,检查按钮和画布2.7
- 6. 蟒蛇找到位置
- 7. 计数 - 蟒蛇
- 8. 蟒蛇对数
- 9. 蟒蛇在PowerShell中VS蟒蛇CLI
- 10. 无法在蟒蛇蟒蛇
- 11. 职位在列表中。蟒蛇
- 12. 蟒蛇数猜测
- 13. 蟒蛇...用数字
- 14. 蟒蛇,从整数
- 15. 蟒蛇硒鼠标滚轮单击
- 16. 序列1和0的蟒蛇位
- 17. 画布和按钮的位置蟒蛇
- 18. 强制使用32位的蟒蛇
- 19. 蟒蛇 - 本月的周数
- 20. 蟒蛇CV2数组numpy的
- 21. 2维数组的蟒蛇
- 22. 蟒蛇functools.partial值的参数
- 23. 删除蟒蛇的边数
- 24. 数据帧file.txt的蟒蛇
- 25. 查找数据中的中间蟒蛇
- 26. xlrd动态变量蟒蛇
- 27. 蟒蛇动态辞典
- 28. 蟒蛇移动到Python 3
- 29. 蟒蛇
- 30. 蟒蛇
http://code.activestate.com/recipes/577059-running-median/ – syrion 2011-03-30 12:29:25
做最后29个值的中位数会更有效。如果30是一个任意的选择,那么如果选择奇数窗口大小,则可以避免必须计算中间值的平均值。 – 2011-03-30 12:54:28
这就是为什么有一个专门的库很好,所以我不必操纵我的偏好,因为担心我的算法中存在一个错误。它看起来像熊猫处理任意时间间隔和时间戳数据。太好了! – yueerhu 2011-03-30 13:03:35