inflearn logo
강의

講義

知識共有

Python 株取引ボットで株市場を自動狩り

4.5.3 性能とベンチマークの比較

4.5.3 total_value_pct 구할 때 -1 이 왜 필요한가요?

解決済みの質問

167

visioner21686230

投稿した質問数 1

0

강의를 보면, total_return_pct-1 을 한 후 * 100 을 해서 수익률을 구하는데요, 그래프로 시각화 했을 때 시작 가격을 1이라고 하면, 그래프의 마지막이 4 와 5 사이에 있는 것 같아 이상하다는 생각이 들었습니다.

 

제가 생각한 경우의 수는 2가지인데요.

 

  1. 이전에 복리 수익률 등을 계산할 때, 1.xxx 식으로 수익률이 계산되기 때문에 이를 정제하는 과정에서 -1 을 하였고, 이와 같은 로직으로 그대로 구현(헷갈림 이슈)

  2. 1 이라는 가격에 사서 4.74 의 가격이 되었다면, 전체 자산 비율은 474% 가 늘어난 것이 맞지만, 기존에 1이 있었기 때문에 순 자산이 늘어난 비율은 3.74 로 고려

위와같이 두 가지입니다.

 

어떤 것이 맞는 것일까요? 혹시 다른 관점이시라면, 공유해주시면 감사하겠습니다.

 

개발만 해보고 수학적 이론을 제대로 접목시키는 것은 이번이 처음이라 헷갈리는 부분들이 많네요.🙂

강의 잘 듣고 있습니다. 감사합니다.

스크린샷 2025-01-31 오후 4.36.58.png

 

python pandas 차트분석 퀀트 trading

回答 2

0

MoneyPouch

안녕하세요, 머니파우치입니다.

말씀주신 항목 중 두 번째가 더 정확합니다🙂 어떤 종목이 1(시작가격)에서 시작해 4.74(최종가격)의 가격이 되었다면, 해당 종목의 수익률은 "최종가격/시작가격 - 1" 으로 계산하게 됩니다.

이는 시작가격 자체는 수익률에 해당하지 않고, 시작가격에서 최종가격까지의 증가량만 수익률에 해당하기 때문입니다. 즉, 위 식을 풀어써보면 "(최종가격 - 시작가격)/시작가격"과 동일합니다.

 

단순 수식만 봐선 1을 빼야하나 아닌가 아직 조금 헷갈리죠ㅎㅎ 작은 숫자로 계산해보면 조금 편하게 이해할 수 있을 것 같습니다.

예를 들어, 1(시작가격)에서 시작해 1.2(최종가격)의 가격이 되었다면, 직관적으로 이 종목의 수익률은 20%라고 알 수 있습니다. 여기에 (최종가격-시작가격)/시작가격 수식을 적용한다면 (1.2-1)/1 = 0.2 = 20%로 계산됩니다. 즉, 1을 뺀 값이 수익률임을 알 수 있습니다.



혹시 더 궁금하신게 있다면 알려주세요! 감사합니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 김성현님.

질문하신 total_return_pct - 1의 의미에 대해서 설명드리겠습니다.

  1. 수익률 계산 방식: 일반적으로 수익률을 계산할 때는 초기 자본 대비 얼마나 증가했는지를 나타내기 위해 최종 가치를 초기 가치로 나눈 후, 1을 빼고 100을 곱합니다. 이때 -1을 하는 부분은 ‘초기 자본에 대한 증가율’을 구하기 위한 것입니다. 즉, 초기 투자 대비 얼마나 더 늘어났는지를 계산하기 위하여, 초기 값 1을 빼서 계산합니다. 이를 통해 순수한 수익률을 구할 수 있습니다.

  2. 그래프 시각화의 이해: 김성현님이 말씀하신 두 번째 경우가 맞습니다. 초기 값이 1일 경우, 예를 들어 4.74가 되었다고 하면 이는 총 374%의 수익률 증가를 의미하며, 이는 (최종 값 4.74 - 초기 값 1) / 초기 값 1 * 100 = 374%와 같습니다. 이는 초기 투자한 1을 제외한 순수한 수익 증가율을 나타냅니다.

개발 과정에서 수학적 개념을 접목시키는 것은 충분히 헷갈릴 수 있는 부분입니다. 강의를 통해 많이 배우고 계신 것 같아 다행입니다. 앞으로도 많은 도움 되시길 바랍니다. 감사합니다. 😊

The image shows a screenshot of a Python script calculating and printing the total return percentage of a stock using the “Buy & Hold” strategy. Here’s a breakdown of what the code does:1. **Calculating Total Value Ratio:** - `bm_daily_total_value` is calculated by dividing closing prices, where `d[‘close’].values` appears to be a series of close prices.2. **Calculating Total Return Percentage:** - `total_return_pct` computes the return by dividing the last value by the first value of `bm_daily_total_value`. - The percentage return is printed in a formatted way using two decimal places.3. **Output:** - A plot is likely generated of `bm_daily_total_value`. - The last and first values of `bm_daily_total_value` are printed. - The computed total return percentage is printed, showing a total return of `474.04%`. The script seems related to financial data analysis, specifically for evaluating investment performance.

6-6

0

11

1

작업형 1 유형 부분

0

13

1

수강평 이벤트

0

17

2

작업형 1 (삭제예정, 구 버전)

0

32

2

강의노트는 어디있나요?

0

17

1

노션 학습 자료 권한 요청

0

17

1

수강기간 연장 문의드립니다.

0

21

1

2유형 레이블 인코딩 VS 원핫 인코딩

0

24

3

날짜 범위 생성 시간 작성

0

75

2

6.3.3 계좌 보우 종목 조회하기 부분/ 보유종목 리턴 건 관하여

0

67

1

5.2.2 강의의 사운드만 조금 작은것 같네요

0

78

2

3.1.4 강의를 듣는데요

0

81

2

dataset은 어디서 찾나요?

0

116

2

6.7 자동실행을 윈도우에서 구현

0

94

1

6.7.2 강의에서 말한 OMS 구축 방법에 대해서 질문이요

0

146

1

d['close']

0

105

2

6-3 주문체결확인 코드

0

165

3

국내주식 과거 분봉데이터 관련

0

1023

2

미국 주식 분봉 데이터를 얻기 위한 방법은 없나요?

0

898

2

5.1.2 강의내용이 5.1.1 강의내용이랑 중복되는거 아닌가요?

0

144

2

4.2.1 매매 시그널 정의 파일 다운로드 경로 문의

0

251

3

5.1.1 보조지표로만드는 추세매매전략(이론) 강의에 이론이랑 실습 강의가 붙어있어요

0

187

1

4.4.3 슬리피지가 들어간 백테스팅 실습 코드 질문

0

202

1

섹션 2.2 직관에서 알고리즘 트레이딩까지 강의가 안보여요

1

251

2