我有一只熊猫df,其日期时间指数为1990-2015。
它具有与S& P 500相邻的列,FOR(财务义务比率),PE比率等等。我创建了图表来研究不同比率和市场之间的关系。我现在正试图回溯一项投资策略。我在Quantopian做过一些这样的事情,但从来没有我自己做过熊猫的新手。
我桌子的前两列看起来像这样:
我已经搞砸了一些代码,但不知道该怎么做。这个想法如下:在FOR降至16.5以下的第一个月投资1,000,000美元的初始投资组合。骑着S& P直到FOR命中16.5,卖掉。当它再次跌回下方时回购。我想我需要使用while语句
for idx in df.index:
if df['Financial Obligation Ratio'].loc[idx]<16.5:
print idx, df['Adj Close'].loc[idx]
这将打印我想要投资的所有时间段。有没有办法使用&#34;而#34;以及&#34;下一个idx&#34;使该计划成功
答案 0 :(得分:0)
您不需要迭代:
In [21]: df
Out[21]:
Adj Close FOR
date
1990-01-09 329.07 16.23
1990-01-08 329.07 16.92
In [22]: df[df['FOR'] < 16.5]
Out[22]:
Adj Close FOR
date
1990-01-09 329.07 16.23
In [23]: