
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
-함수는 정상인 점 확인했습니다.
>> print(get_return('005930')) 으로 최종 수익률 나오는 것 확인
밑쪽의 dart 자료를 불러와서 for 문을 돌리는 과정에서, append 사용이 불가해 concat 을 사용했는데 결과값이 항상 error 로만 떨어집니다.
Empty DataFrame 이라고 뜨는데 구글링을 해보니 " " 값도 아니고, NaN 도 아닌 행열이 어긋난 상태라는것 같은데요,
이부분 코드좀 봐주실수 있을까요?
코드를 df = pd.concat([df,doc]) 로 한 이유는, 앞선 수업인 '최적의 K값 구하기' 에서는 해당 코드로 정확한 결과값을 얻었기 때문입니다.
샘플10 으로 계속 돌려도 항상 결과값은 10개의 에러값만 떨어집니다. 이에 샘플50, 샘플100을 해보아도 마찬가지여서, 확인한번만 부탁드려요

작성한 코드 및 에러 메세지
#월요일에 사서, 금요일에 파는 전략
from pandas_datareader import data as pdr
import yfinance as yf
yf.pdr_override()
import numpy as np
import pandas as pd
import FinanceDataReader as fdr
def get_return(code):
df = fdr.DataReader(code,'2023')
df = df.reset_index()
df = df[['Date','Open']]
df['Day'] = pd.to_datetime(df['Date']).dt.day_name()
cond = (df['Day'] == 'Monday') | (df['Day'] == 'Friday')
df = df[cond]
if df.iloc[0,2] == 'Friday':
df = df.drop(index = df.index[0])
if df.iloc[-1,2] == 'Monday':
df = df.drop(index = df.index[-1])
cond = (df['Day'] == 'Monday') & (df['Day'].shift(-1) == 'Monday')
df = df.drop(index = df[cond].index) #인덱스 전체 지우기
cond = (df['Day'] == 'Friday') & (df['Day'].shift(-1) == 'Friday')
df = df.drop(index = df[cond].index) #인덱스 전체 지우기
df['Open_Fri'] = df['Open'].shift(-1)
df = df[df['Day'] == 'Monday']
df = df[['Open','Open_Fri']]
df.columns = ['buy_at','sell_at']
df['return'] = df['sell_at'] / df['buy_at']
return df['return'].cumprod().iloc[-1] - 1
import dart_fss as dart_fss
api_key = 'f5941f9609fed0691fb8dec96802ff8bb63a7243'
dart_fss.set_api_key(api_key=api_key)
all = dart_fss.api.filings.get_corp_code()
df = pd.DataFrame(all)
df_listed = df[df['stock_code'].notnull()]
df = pd.DataFrame()
for row in df_listed.sample(10)[['stock_code','corp_name']].itertuples():
try:
doc = pd.DataFrmae({
'name': row[2],
'return': get_return(row[1])
})
df = pd.concat([df,doc])
except:
print(f'error - {row[2]}')
print(df)
