inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

평생 써먹는 데이터 기반 투자법 with 파이썬 퀀트 투자

분산투자 중 다수종목수익률계산방법 질문

240

임서영

작성한 질문수 1

0

섹션1 분산투자 : 다수종목수익률계산방법 수업 중 뒤쪽 그래프 작성에서 이해가 안가는 부분이 있어 질문 드립니다.

 

plt.figure(figsize=(20, 8))

cumReturn[stock].plot()

portCumReturn.plot(label = "porfolio", linestyle="dotted", linewidth=3)

이렇게만 하면 표가 제대로 안나오더라구요..

 

plt.figure(figsize=(20, 8))

for stock in cumReturn.columns:

cumReturn[stock].plot()

portCumReturn.plot(label = "porfolio", linestyle="dotted", linewidth=3)

 

저기서 왜 for 구문을 사용하는 것에 대해서 잘 모르겠습니다ㅠㅠㅠ

python 투자 pandas 퀀트

답변 1

0

Jay

안녕하세요.

 

우선 그래프만 표현하는게 목적이라면, 이런식으로 더 짧은 코드로 작성이 가능한데요.

plt.figure(figsize=(20, 8))
cumReturn.plot()
portCumReturn.plot(label = "porfolio", linestyle="dotted", linewidth=3)
plt.legend()
plt.show()

 

수강생분이 작성하신 코드는 stock이라는 변수가 지정이 안된 상태에서 호출했기에 표현이 안되는 것이라고 추측합니다.

 

plt.figure(figsize=(20, 8))

############# cumReturn[stock].plot() ################## stock이 정의가 안됌

portCumReturn.plot(label = "porfolio", linestyle="dotted", linewidth=3)

 

제가 반복문을 활용해 코드를 작성한 이유는,

각 종목별로 cagr, mdd를 계산하고 출력하기 위함이었습니다.

for stock in cumReturn.columns:
    # 그래프
    cumReturn[stock].plot(label=stock)
    # cagr
    cagr = cumReturn[stock].iloc[-1] ** (252/len(cumReturn[stock]))
    # mdd
    dd = (cumReturn[stock].cummax() - cumReturn[stock]) / cumReturn[stock].cummax() * 100
    mdd= dd.max()
    
    print(stock)
    print(f"cagr: {cagr}\nmdd: {mdd}")
    print("=======")

 

그래프만 나타내는 것이 목적이라면 더욱 간단한 코드로 작성할 수도 있었겠죠!

물론 코드를 작성하는 방식은 다양하고 정답이란 없습니다.

저도 다시 확인해보니 for문에서는 cagr, mdd 계산만하고 표현해도 되겠다는 생각이 드네요!

 

감사합니다.

0

임서영

정성스런 답변 정말 감사합니다!ㅠ 아직 파이썬베이비(?)다보니 미숙하네요..ㅠ 감사합니다

로지스틱 회귀분석은 옛날거 밖에 없나요?

0

16

2

강의 초반 질문드려요!

0

7

1

사주 정보를 넣고 웹훅

0

14

2

오류 문구 입니다.

0

14

1

creatomate를 대체할 만한 곳

0

12

0

Part2 - 19번 ~ 20번 강의 사이에 일부 내용이 생략된듯합니다.

0

20

2

Gemini 모델 변경 문의

0

14

2

소스코드 다운로드 어떻게 받는지 물어보려고 했는데...

0

7

1

판다스 표 표시

0

16

3

part2 gemini api 연동

0

14

3

강의 자료 다운로드 자료요청

0

214

2

강의 자료 다운로드

0

345

3

수익률이 맞는지 코드 문의 드립니다.

0

309

1

리밸런싱에서 주기와 가중치 변경시 오류 현상

0

343

2

리밸런싱 포트폴리오 구현 원리 질문있습니다.

0

581

2

FAA 전략에서 상관성

0

322

1

일별 수익률 계산 시

0

691

1

퍼포먼스 지표로 샤프지수와 표준편차

0

447

1

강의 직접 관련은 아니지만 재무제표 크롤링 관련

0

566

1

2-5 리밸런싱 기법 강의자료 오류 질문

0

344

1

No module named 'FinanceDataReader' 이거 어떻게 해결하나요?

0

1540

1

동일비중인경우 포트 일별수익률

0

266

1

강의 내에 파이썬 버전과 패키지들 버전이 어떻게 되나요?

0

231

1

수업자료 관련

0

271

2