- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在努力了解股票数据及其在 python 中的实现。一开始,我在 Python stockstats
库中使用 MACD 指标。
我想知道的是,如果我有某只股票的 100 个 OHLC 条目,我如何使用 MACD 输出来产生我应该买入、卖出还是持有的信号?在 Graph 中可以可视化,但在编程方面我如何理解这个想法?示例代码如下:
import pandas as pd
from stockstats import StockDataFrame as Sdf
from pandas_datareader import data, wb
data = pd.read_csv('data.csv')
stock = Sdf.retype(data)
print(stock.get('pdi'))
它产生如下所示的输出:
0 0.000000e+00
1 -8.951923e-08
2 1.758777e-07
3 -3.844324e-08
4 -2.217396e-07
5 -3.893329e-07
6 -2.373225e-07
7 -5.082528e-07
8 -8.260595e-07
9 -1.099751e-06
10 -1.429675e-06
11 -1.211562e-06
12 -8.230303e-07
13 -5.163039e-07
14 -4.979626e-07
15 -4.777865e-07
16 -6.217018e-07
17 -1.145459e-06
18 -1.461550e-06
19 -1.744250e-06
20 -1.677791e-06
21 -1.820319e-06
22 -2.024092e-06
23 -1.958413e-06
24 -2.450087e-06
25 -2.805521e-06
26 -3.443776e-06
27 -4.047889e-06
28 -4.839084e-06
29 -5.208106e-06
...
1410 4.856951e-06
1411 6.075773e-06
1412 9.159968e-06
1413 9.985022e-06
1414 1.069234e-05
1415 1.140865e-05
1416 1.136520e-05
1417 1.156541e-05
1418 1.065633e-05
1419 9.176497e-06
1420 9.275813e-06
1421 8.254755e-06
1422 7.583274e-06
1423 7.301820e-06
1424 6.959007e-06
1425 6.292826e-06
1426 8.411427e-06
1427 8.746155e-06
1428 1.112640e-05
1429 1.299290e-05
1430 1.398810e-05
1431 1.441297e-05
1432 1.509612e-05
1433 1.462091e-05
1434 1.436198e-05
1435 1.390849e-05
1436 1.419959e-05
1437 1.554140e-05
1438 1.884861e-05
1439 2.163656e-05
Name: macd, Length: 1440, dtype: float64
最佳答案
给你,在评论中解释。
import pandas as pd
from stockstats import StockDataFrame as Sdf
data = pd.read_csv('data.csv')
stock = Sdf.retype(data)
signal = stock['macds'] # Your signal line
macd = stock['macd'] # The MACD that need to cross the signal line
# to give you a Buy/Sell signal
listLongShort = ["No data"] # Since you need at least two days in the for loop
for i in range(1, len(signal)):
# # If the MACD crosses the signal line upward
if macd[i] > signal[i] and macd[i - 1] <= signal[i - 1]:
listLongShort.append("BUY")
# # The other way around
elif macd[i] < signal[i] and macd[i - 1] >= signal[i - 1]:
listLongShort.append("SELL")
# # Do nothing if not crossed
else:
listLongShort.append("HOLD")
stock['Advice'] = listLongShort
# The advice column means "Buy/Sell/Hold" at the end of this day or
# at the beginning of the next day, since the market will be closed
print(stock['Advice'])
关于Python金融: How to use macd indicator for signals strategy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47000495/
在大多数示例中,策略模式通常适用于压缩算法/编解码器算法,其中这些算法可能具有完全不同的代码。 但是,在我的例子中,我想重构为策略模式的统计算法有 50% 的代码相似或完全相同。我想知道人们如何处理这
git merge选项有什么区别--strategy-option(短-X)和--strategy(短-s)? 有很多关于 merge strategies 的问题.但是没有人解释这些选项之间的区别。
耦合策略和非耦合策略有什么区别? 谢谢回答。 最佳答案 当策略类知道上下文时,或者当客户端知道策略具体类时,策略是耦合的。 我们可以阅读 here (有一些小的修改): Usually each st
我是 hibernate 新手。我不明白以下两种主键生成策略: 身份 顺序 有人能解释一下这两者是如何工作的吗?这两者有什么区别? 最佳答案 引用 Java Persistence/Identity
我正在尝试调试我在编写内核时遇到的链接器问题。 问题是我有一个变量 SCAN_CODE_MAPPING我无法使用 - 它似乎是空的或其他东西。我可以通过改变我链接程序的方式来解决这个问题,但我不知道为
今天,当我找到一种方法来破坏我们程序中的某些功能时,我正在为客户做一些事情。 (代码实际上是遗留代码,它已经开发了大约 10 年,而我在这里只工作了大约一年。) 它不会导致错误或导致程序崩溃,但如果用
我想使用 Strategy Pattern为第三方类中的成员实现一些定制的格式化行为。我希望第三方只需注释类成员以指示他们是否应该使用格式策略(A、B 或 C),然后使用他们类的实例调用我的“格式”函
我试图将 CopyOnWriteArrayList 理解为我的代码: 我的代码是: public class AuditService { private CopyOnWriteArrayLi
在 git 中,我有一个 master 分支,我在其中开发我的应用程序。除了应用程序,我还需要开发它的演示版本。 我考虑过为 demo 创建一个永远不会 merge 到 master 中的单独分支。主
1、意图 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。策略模式可以使算法可独立于使用它的客户而变化 策略模式变化的是算法 2、策略模式结构图 3、策略模式中主要
抽象策略(Strategy)角色:定义所有支持的算法的公共接口。通常是以一个接口或抽象来实现。Context使用这个接口来调用其ConcreteStrategy定义的算法。 具体策略(Concre
模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行 模板模式属于行为型模式 摘要 1、
我希望这是一个可以接受的问题。我理解递归的思维模式,我想考虑基本情况,然后是递归情况,但是对于一些更困难的 BST 问题,我只是画了空白,感觉就像我迷失了方向而没有一个好的方向。 例如,对于链表,似乎
是否有人考虑过为 Azure 存储队列实现策略,允许以任意顺序(除了先进先出)使消息出队。例如,有些人可能对 LIFO 感兴趣,有些人可能希望在不太重要的消息之前将“重要”消息出队,等等。 就我个人而
虽然多线程在某些情况下速度更快,但有时我们只想生成多个工作进程来完成工作。这样做的好处是,如果其中一个 worker 崩溃,主应用程序不会崩溃,而且用户不需要太担心互锁问题。 COM+ 的 Appli
我的应用程序将对我的对象有不同的策略。实现这一目标的最佳方法是什么?理想情况下,我想从某些关系数据库动态加载策略实现。但我不知道该怎么做。最好的方法是什么? 例如,假设我们要将策略 Strategy1
上下文 首先,感谢您的假设。它既非常强大又非常有用! 我编写了一个假设策略来生成以下形式的单调(ANDS 和 OR)策略表达式: (A and (B or C)) 这可以被认为是一个树结构,其中 A、
问题 我有一个大类(大约 1500 LOC),它使用不同的“策略”将数据从一个对象转换到另一个对象。我在这里有那个类的表示: public class FooService implements Fo
我正在阅读 Effective Java。在讨论使用函数对象作为策略的部分中,存在以下段落。 Because the strategy interface serves as a type for a
我是 C# 4.0 和 WPF 的新手,我正准备开始一个新的应用程序。 来自 C++/MFC 世界,我对测试与最新技术一起使用的策略很感兴趣。 例如: 单元测试 功能测试 界面测试 其他? 如有任何建
我是一名优秀的程序员,十分优秀!