首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何存储高或低价值(交易)

如何存储高或低价值(交易)
EN

Stack Overflow用户
提问于 2022-05-12 10:39:01
回答 1查看 84关注 0票数 0

我想要开发一个代码来向我的DataFrame添加一个系列;该系列应该存储关闭的最低值,直到达到一个新的低点。当达到新的低点时,应在“系列”中出现新的值。起始代码是:

代码语言:javascript
复制
import yfinance as yf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

ticker = 'EURUSD=X'
df = yf.download(ticker, start='2020-1-1')

df['fixed_low'] = ...?

例如,如果欧元兑美元最近的低点是1.1000,那么在“fixed_low”一栏中,这个值应该一直保持到一个新的低点(比方说1.0999)。然后,如果资产仍在下降,列应该存储新的低值,直到新的低点持续一段时间,以此类推。我希望我说的很清楚。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-12 11:49:44

代码语言:javascript
复制
import yfinance as yf
import numpy as np


ticker = 'EURUSD=X'
df = yf.download(ticker, start='2021-2-1', end= '2021-3-1')
minimum = np.min(df['Close'])#you saved the minimum
print('minimum', minimum)

df1 = yf.download(ticker, start='2021-3-2', end= '2022-5-1')
for i in df1['Close'].values:
    if i < minimum:
        minimum = i

print('update minimum', minimum)

创建了两个数据文件。首先,我们找到了最小值,在第二个过程中,我们更新了最小值。

代码语言:javascript
复制
ticker = 'EURUSD=X'
df = yf.download(ticker, start='2020-1-1')

df['fixed_low'] = np.nan

low = np.inf
for i in range(0, len(df)):
    if df.loc[df.index[i], 'Low'] < low:
        low = round(df.loc[df.index[i], 'Low'], 6)
    df.loc[df.index[i], 'fixed_low'] = low

输出df

代码语言:javascript
复制
                Open      High       Low  ...  Adj Close  Volume  fixed_low
Date                                      ...                              
2019-12-31  1.120448  1.124101  1.120072  ...   1.120230       0   1.120072
2020-01-01  1.122083  1.122838  1.115947  ...   1.122083       0   1.115947
2020-01-02  1.121894  1.122712  1.116682  ...   1.122083       0   1.115947
2020-01-03  1.117081  1.118068  1.112570  ...   1.117144       0   1.112570
2020-01-06  1.116246  1.120825  1.115810  ...   1.116196       0   1.112570
...              ...       ...       ...  ...        ...     ...        ...
2022-05-06  1.053974  1.059839  1.048537  ...   1.053974       0   1.047285

在循环之前,我将low变量的值设置为最大。如果当前最小值小于低值,则会发生更新。df‘nan _low’首先将所有值设置为nan。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72214109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档