inflearn logo
강의

Course

Instructor

Data-driven stock quant investment with Python Part 2

8.2 Dynamic Asset Allocation part1 - VAA

선생님 Part1-VAA 38:40 에서 포트폴리오 CAGR, Sharp R 이 잘못된 이유 발견

320

UnknowN

3 asked

0

선생님 8.2. 동적자산배분 Part1-VAA 38:40 에서 왜 Shar R, CAGR이 잘못되셨냐고 했는데 데이터 문제입니다. fdr.datareader 혹은 investpy, pdr.datareader 등으로 야후파이낸스 데이터 가져오면 주가데이터가 가격이 안맞아요!!

투자 pandas 퀀트

Answer 2

0

DeepingSauce

그럴리가요 ㅎㅎ 이런 과정을 통해 수강생분들이 본인의 생각을 정리해서 표현하는 경험도 하고, 그만큼 또 성장하는 시간을 가질 수 있다고 생각하기 때문에, 이런 형태의 질문은 언제든지 환영입니다!

0

UnknowN

IEF였나 하여튼 채권 쪽 ETF의 데이터가 잘못되었었습니다.

pandas나 financedatareader 등으로 주가데이터 불러오셔서 다시 체크해보시면 똑같이 되실거에요! 

0

DeepingSauce

안녕하세요!

혹시

1. 데이터가 어떤 부분 잘못되었는지

2. 그리고 잘못되었다면 어떤 소스의 데이터로

3. 그리고 어떤 코드로  작성하면 (코드 첨부)

 참고자료에서 봤던 성능처럼 나오는지, 해당부분 첨부해주실 수 있을까요?

0

UnknowN

0

UnknowN

위 사진에서 보는 것 처럼 엑셀 2개 중에
좌 : 선생님의 us_etf_2 라는 데이터고, 

우 : 제가 fdr로 야후파이낸스에서 따온 데이터의 IEF 종목 가격 비교 데이터 입니다.

2003년 부분 보면 좌측 엑셀 (선생님꺼) 는 50달러고, 야후파이낸스는 86달러 입니다.

코딩은 아래 첨부했는데요.

전 대략적으로 주가데이터 따올 때 이런식으로 따옵니다.

offense_assets = ["EEM","SPY", "MCHI", "EWY" ]
defense_assets = ["153130"]
stock_dict_offense = {'SPY':'SPY',
'EEM':'EEM',
'MCHI':'MCHI',
'EWY':'EWY'}
stock_dict_defense = {'153130': '153130'}

AdjClose = pd.DataFrame()
AdjClose2 = pd.DataFrame()
item_list = []
item_list2 = []
# for item_code in stock_dict_offense.values():
# print('$$$$$$$$$$$$오늘 날짜는 :.', start2)
# close = fdr.DataReader(item_code, start2)['Close']
# AdjClose[item_code] = fdr.DataReader(item_code, start2)['Close']
# item_list2.append(close)
# ret_daily = AdjClose.pct_change()
# print(ret_daily)
for item_code in stock_dict_offense.values():
print('$오늘날짜 :.', YY)
close = fdr.DataReader(item_code, YY)['Close']
print(close)
item_list.append(close)

0

UnknowN

코드는 개인마다 차이가 있어서요.!

대략적으로 for문 이용해서 딕셔너리의 밸류값을 넣어 fdr.DataReader 라는 패키지를 활용하면

주가데이터를 완벽하게 가져올 수 있을거에요. ^^*

0

DeepingSauce

안녕하세요! 좋은 분석 감사드립니다 ㅎ

UnknowN님이 하나 간과하신 것은 해당 주가(80$ 부근의 가격)대는 수정(adjusted)된 가격이 아닙니다.

https://finance.yahoo.com/quote/IEF/history?period1=1030665600&period2=1038787200&interval=1d&filter=history&frequency=1d&includeAdjustedClose=true

여기서도 쉽게 확인가능하구요ㅎ 

제가 제공하는 모든 csv 데이터는 전부 수정이벤트가 반영된 adjusted 된 데이터라 조금 더 현실적인(?) 데이터입니다.

참고적으로, 해당 강의 영상을 찍었을 시기에서 받아온 adjusted 데이터와, 현재시점에서 받아온 adjusted 값들은 차이가 있을 수 있습니다(과거 촬영 시점 ~ 현재 시점 사이에 stock split, dividend 등의 이벤트가 발생했다면 과거 adjusted data 에 대해 또 수정이 일어났을 것이 때문)

감사합니다 : )

0

UnknowN

그렇군요 제가 간과했나봐요 ㅎㅎㅎ..   혹시 기분나쁘시거나 그런건 아니시죠..?

수업 질문 있습니다!

0

179

1

분할 매매와 수익률 !!

0

253

2

물타기(매월 일부 투자금액 증액 효과)

0

210

2

short index 관련 질문드립니다.

0

289

1

CAGR, sharpratio 값이 다르게 나오는 이유?..추측?

0

262

1

fdr.DataReader 오류

0

1417

3

fdr.DataReader 오류

0

427

1

안녕하세요 ! 강의 내용 정리해서 github에 업로드 해도 될까요 ?

0

555

1

inverse volatile 질문입니다

0

261

1

실전1 관련

0

248

1

loc

0

252

1

cumulative rtn을 이용 부분 질문

0

277

1

퍼포먼스 지표에 표준편차를 추가하고싶은데요

0

302

1

궁금한 점이 있어 문의합니다.

0

478

4

올웨더 관련 문의

0

322

2

5:53

0

313

1

개념질문입니다

0

293

1

4.4 Rolling correlation : 상관계수를 구할때 의문이 생겼습니다.

0

446

1

시계열이 다른 자산의 포트폴리오 계산

0

361

1

타임스탬프 질문

0

329

1

으아아아아아

0

328

0

Vectorizing / Event-based Backtesting

0

540

1

후속 강의를 간절히 기다리고 있습니다.

0

211

1

df . append 또는 cocnat, merge, join 등을 (axis=1) 방향으로 병합할 때

0

229

1