from yahoo_fin.stock_info import *
n=0
Ptf_opp_2=[]
lenght_2=len(Ptf_opp)
def step2():
for n in range(0,lenght_2):
Bs=get_balance_sheet(Ptf_opp[n])
tca=Bs.loc[Bs.get('Breakdown').str.match('Total Current Assets')]
tl=Bs.loc[Bs.get('Breakdown').str.match('Total Liabilities')]
tcl=Bs.loc[Bs.get('Breakdown').str.match('Total Current Liabilities')]
if (tca.iloc[0,1] != None and \
tca.iloc[0,1] != '-' and \
tl.iloc[0,1] != None and \
tl.iloc[0,1] != '-' and \
tcl.iloc[0,1] != None and \
tcl.iloc[0,1] != '-' and \
(float(tcl.iloc[0,1]) / float(tca.iloc[0,1])) < 1.1 and\
(float(tca.iloc[0,1]) / float(tl.iloc[0,1])) > 1.5):
Ptf_opp_2.append(Ptf_opp[n])
step2()
Привет всем, я новичок в python, я пытаюсь создать код для экзамена в университете, это часть моего проекта, он выполняется, но после некоторых итераций, Bs=get_balance_sheet(Ptf_opp[n])
перестает работать (на самом деле это работает, но просто создает фрейм данных [0,0]
, который бесполезен и не верен).
Цель кода - создать новый фрейм данных после проверки того, что тикер содержится в Ptf_opp[n]
удовлетворяет граничному условию ниже.
Кроме того, если у кого-то есть какие-либо советы по улучшению моего кода, я буду признателен.