我从 quandl 检索数据并将其加载到 Pandas DF 对象。然后我根据“最后价格”计算 SMA 值(SMA21、SMA55)。将这些 SMA 值作为一列添加到我的 DF 对象中。我遍历 DF 以捕捉买入信号。我知道购买条件适用于某些日期,但我的代码没有打印出任何内容。我希望至少打印购买条件。如下所示,您可以看到以下情况:kitem['SMA21'] >= kitem['Last'] 我的代码:import requests import pandas as pdimport jsonclass URL_Params: def __init__ (self, endPoint, symboll, startDate, endDate, apiKey): self.endPoint = endPoint self.symboll = symboll self.startDate = startDate self.endDate = endDate self.apiKey = apiKey def createURL (self): return self.endPoint + self.symboll + '?start_date=' + self.startDate + '&end_date=' + self.endDate + '&api_key=' + self.apiKey def add_url(self, _url): self.url_listmy_portfolio = {'BTC':1.0, 'XRP':0, 'DSH':0, 'XMR':0, 'TotalBTCValue':1.0}_endPoint = 'https://www.quandl.com/api/v3/datasets/BITFINEX/'_symbolls = ['BTCEUR','XRPBTC','DSHBTC','IOTBTC','XMRBTC']_startDate = '2017-01-01'_endDate = '2019-03-01'_apiKey = '' #needs to be set for quandlmy_data = {}my_conns = {}my_col_names = ['Date', 'High', 'Low', 'Mid', 'Last', 'Bid', 'Ask', 'Volume']orderbook = []#create connection and load data for each pair/market.#load them in a dict for later usefor idx_symbol in _symbolls: my_url_params = URL_Params(_endPoint,idx_symbol,_startDate,_endDate,_apiKey) response = requests.get(my_url_params.createURL()) my_data[idx_symbol] = json.loads(response.text)#Prepare Datamy_raw_data_df_xrpbtc = pd.DataFrame(my_data['XRPBTC']['dataset']['data'], columns= my_data['XRPBTC']['dataset']['column_names'])#Set Index to Date Column and Sortmy_raw_data_df_xrpbtc['Date'] = pd.to_datetime(my_raw_data_df_xrpbtc['Date'])my_raw_data_df_xrpbtc.index = my_raw_data_df_xrpbtc['Date']my_raw_data_df_xrpbtc = my_raw_data_df_xrpbtc.sort_index()我知道有很多行是正确的,但我的代码从未进入此代码路径,因此它不会打印出我期望的内容。任何人都可以请帮助/评论可能有什么问题吗?
1 回答

至尊宝的传说
TA贡献1789条经验 获得超10个赞
原因是你的比较是错误的。的结果kitem['SMA21'] >= kitem['Last']
将是numpy.bool_
. 当您is
用来将它与True
this进行比较时会失败,因为它不是同一个对象。
如果您将比较更改为==
它会按预期工作:
if (kitem['SMA21'] >= kitem['Last']) == True:
添加回答
举报
0/150
提交
取消