반응형
반응형

[금융상품] 원자재 투자의 대표 산업 금속과 선물거래 특징

Quant|2022. 9. 28. 20:32
반응형

아래 두 영상을 참고해 작성했습니다.

유튜브 월가아재 - 원자재관련 영상 (1)

 

원자재의 장단점

[장점]
1. 역사적으로 주식, 채권의 움직임과 반대
2. 파산의 위험성이 없는 자산이고 유동성이 많다.
3. 경제가 나쁠 때도 상승 할 수 있다.
4. 정부의 현금 발행으로 인한 구매력 감소 방어 가능

[단점]

이자나 배당 소득을 창출하지 않는다.



원자재 사이클???

원자재 사이클은 크게 4번 있었고, 주식과 원자재 사이클은 순환합니다.

원자재 지수를 주가지수로 나눈 값

원자재 분석 방법

[공급]
1. 물량 : 전세계 매장량, 생산량, 재고량 파악
2. 생산 : 광산들의 매장량, 신규 광산 확장 가능성
3. 비용 : 광산 개발 및 생산 비용
4. 시간요인 : 개발, 확장, 생산에 걸리는 시간 
5. 리스크 : 각 생산 지역의 정치, 군사적 리스크


[수요]
1. 해당 원자재의 주요 사용분야
2. 현재 사용분야의 지속 가능성
3. 신규 산업 분야의 사용 가능성
4. 대체제의 존재 여부 - 유가가 비싸질수록 옥수수로 만드는 에탄올 수요도 증가

파란색이 wti유 선물, 보라색이 옥수수 선물이다.

 

원자재 섹터 특징??
  • 산업 금속 관련 주식 분류
    광산기업, 제련업체, 가공업체, 수요자로 나눌 수 있다.
    (지구과학 시간에 배운 광물 사용 순서와 유사하다)

  • 구리가격은 경기를 매우 민감하게 선행한다.
    이러한 산업금속 다음으로 민감한게 원유같은 에너지다.
    개인 투자자로서 심도있게 원자재별로 깊게 공부해보면 유용한 도구가 될 수 있다.

  • "원자재 상품가치는 결국 인플레이션을 감안하면 과거나 지금이나 똑같다"
    -> 아니다. 원자재 상품도 주식과 마찬가지로 장기보유시 꾸준한 이득이 나온다.

  • 리스크 프리미엄 : 리스크를 짊으로써 얻는 이득
    리스크가 있는 상품의 수익률(주식, 원자재, 비트코인, 부동산) - 리스크가 없는 상품 (은행이자, 채권)
  • 원자재 선물시장에서의 리스크 프리미엄
    - 원자재 선물시장은 공급자의 가격 변화의 리스크 헷지를 위해 만들어짐
    - 공급자(선물매도)는 가격변화에 대한 리스크를 수요자(선물매수)에게 떠넘김
      이에 따라 리스크 프리미엄도 제공함
    - 케인즈의 'Normal Backwardation' 이론 

  • 원자재 선물 롤오버
    롤오버에 따라 손실이 날 수도, 이익이 날 수도 있음
    대체로 손실 비율이 큰 편임

  • Backwardation : 현재 현물 가격현재 선물 가격의 비교
    <만기가 가까워 롤오버 시>
    Contango : 현재시점 현물 가격 < 현재시점 선물 가격이면 
    롤오버시 싼 현물을 팔고 비싼 선물을 사므로 손해발생
    ###상품의 재고가 넘치면 미래의 가격이 낮아질 것으로 예상해 현물가격이 낮아짐

    예를 들면 현재 날짜가 5월 말이고 만기가 6/1일인 옥수수 선물이 30$이라면,
    6월1일이 가까워짐에 따라 현재 현물 가격은 만기가 6/1일인 옥수수 선물가격과 같아짐
    (영상에서 현물가격은 결국 만기가 0인 선물가격과 같다고 설명)  

    Backwardation : 현재시점 현물 가격 > 현재시점 선물 가격이면 
    롤오버시 비싼 현물을 팔고 싼 선물을 사므로 이익이 발생한다.
    ###상품이 희소하면 지금 당장 수요가 증가해 현물 가격이 높아짐

    즉 롤오버시 리스크 프리미엄과 Backwardation을 확인해 롤오버 비용을 생각해 볼 수 있다.


  • Normal Backwardation : 미래 예상 현물 가격과 현재 선물 가격의 비교
    - 미래 예상 현물 가격은 관찰이 불가함
    - a) 미래 예상 현물 가격 > b) 현재 선물 가격일 시 Normal Backwardation가 됨
      이 둘의 가격 차이가 a) - b) 가 Risk-Premium 으로 인한 이익이다.
  • 근 10년간 미국 원자재 투자가 부진한 이유

    1. 원자재 수요 둔화로 롤오버 비용의 증가
    2. 미국 국채의 제로 금리
    3. 원자재 ETF 등으로 인한 매수 물량 증가 -> 리스크 프리미엄 감소
    4. 디플레 압력
반응형

댓글()

[Project] 주식을 몇 시에 매수하는 것이 가장 좋을까??

Quant|2022. 9. 23. 22:11
반응형
반응형

댓글()

[Skewness Volatility] 왜 떨어짐은 크고, 상승은 작은가?

Quant|2022. 9. 20. 23:29
반응형

시장이 Bear market으로 형성되면 주가가 급하게 떨어지는 모습을 자주 볼 수 있다.
이는 시장의 심리적인 요인이 아주 크게 작용한다.
이러한 현상으로 인해 풋옵션의 프리미엄이 콜옵션의 프리미엄보다 커지게 되고,
"Skewness Volatility" (변동성의 비대칭성)이 나타난다.

간단한 프로젝트로 QQQ의 변동 데이터를 통해 실제로 주가의 상승 폭보다, 하락 폭이 큰지 직접 확인해 보려한다.

1. 데이터 구하기

QQQ의 가격 데이터는 Investing 사이트에서 제공하는 csv 파일을 사용하였다.
근 5년간의 데이터를 사용하였다.

인베스코QQQ ETF 과거 데이터 - Investing.com

인베스코QQQ(QQQ)ETF历史数据一览,包括인베스코QQQ(QQQ)ETF历史行情,年化收益率,每日净值和涨跌走势图表。

kr.investing.com

data.csv
0.01MB

2. 데이터 전처리

근 5년간의 데이터를 사용하려고 보니, 이 기간은 대세 상승장이었고,
하락 값과 상승 값의 비율이 전혀 맞지 않았다.
따라서 V자 반등 구간의 데이터만 사용하였다.

또한, Skewness의 모습을 최대한 나타내기 위해 약보합 +-0.3% 이내의 구간인 날들은 데이터 프레임에서 제거하였다.

# 기존 index를 제거
df.set_index('date', inplace=True)

# 현재 -> 과거 순에서 과거 -> 현재 순으로 바꿔줌
df = df.iloc[::-1]

# '%'가 있어 변동 값을 str값으로 인식하므로 %를 제거 후 숫자형으로 변환
df['volatility'] = df['volatility'].str.replace('%', '')
df['volatility'] = pd.to_numeric(df['volatility'])

# -0.3 ~ 0.3% 수준의 보합은 제거
condition = df[ (-0.3 < df['volatility']) & (df['volatility'] < 0.3)].index
df = df.drop(condition)
Data Frame
a = df.loc[condition, 'volatility'].count()
b = df.loc[~condition, 'volatility'].count()
print("하락한 날의 수는",a ,"개", "상승한 날의 수는",b ,"개 입니다.")
22개 차이나지면 분포에 큰 영향은 없다

3. 분포 확인

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker


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

ax.xaxis.set_major_locator(ticker.MultipleLocator(16))
ax.yaxis.set_major_locator(ticker.MultipleLocator(2))
ax.yaxis.set_minor_locator(ticker.MultipleLocator(0.5))


plt.scatter(df.index, df['volatility'], color=df['color']) 
plt.xticks(rotation=45)
plt.grid(True)

# y축 범위 설정
plt.ylim(-12,12)

plt.show()
+-2% 기준으로 파란색이 더 많음을 확인할 수 있다

4. 히스토그램

df.hist(bins=120, figsize=(6,6))
+- 1% 구간을 제외하고는 확실히 그래프가 right skewed 임을 확인 할 수 있다.
히스토그램이 밋밋한 부분은 시각화를 더 공부하면서 극복해보도록 하겠다.

메인 질문 "왜 떨어짐은 크고, 상승은 작은가?" 에 대한 답은 추후에 글을 쓰도록 하겠다.

반응형

댓글()

[금융 상품] 달러의 역사 - 미국이 기축통화 지위를 버릴 수 밖에 없는 이유 (월가아재)

Quant|2022. 9. 7. 16:34
반응형

아래 영상을 참고해 작성했습니다.

 

주요 통화의 역사

 

19세기 ~ 1차세계 대전에는: 영국의 금본위제 기반의 파운드화가 기축통화 역할을 했습니다.

1차세계 대전이 끝나며 영국의 수출경쟁력 악화로 금 유출이 가속화 되면서, 금 유출 발생 및 금 본위 중단되었죠

이후 영국의 금 본위 부활하긴 했지만 환율을 1차세계 대전 이전과 같이 유지하면서 금 유출 가속화되었습니다.

 

따라서 영국은 채무국으로 몰락, 채권자의 미국의 금소유가 증가하게 되었죠.

 

반면 미국은 브레튼 우즈 체제를 구축해 영국에서 유출된 금 독점하고 금태환을 실시했습니다.

그 대가로 미국의 해군력과 자국시장을 타국에 제공하며 달러가 기축통화로 부상했죠.

 

하지만 트리핀의 딜레마가 발생하며 미국은 전세계의 달러 사용을 위해 달러 발행을 늘려 가치를 낮추거나, 

달러 가치를 지키기 위해 달러 발행을 줄여 국제무역에서 달러 부족을 야기할지 선택을 해야했습니다.

 

결국 일본과 영국의 급 부상으로 미국의 적자가 발생하고,

베트남전으로 미국의 재정 지출이 늘어나는 상황이 발생

 

달러의 신뢰도는 떨어지고, 금태환 요구증가로 금 유출이 발생하며

브레튼 우즈 체제는 무너지게 되었다.

 

사태를 해결하고자, 1971년 닉슨 대통령이 금 태환 제도를 폐지, 신용 화폐 시스템을 도입했다.

 

금본위제가 달러가 금에 기반 했다면, 신용화폐 시스템은 신뢰를 기반으로 지폐를 사용한다.

 

 

그렇다면 미국은 어떻게 신용 화폐 시스템을 구축했을까?

1940년대 2차세계대전 사우디는 자국을 보호해줄 강대국이 절실했고, 미국은 원유의 중요성을 느껴며 둘의 이해관계가 맞았다.

 

사우디-미국의 비밀협약으로 미국은 사우디에서 원유를 수입하며 군사 원조를 해주고,

사우디는 원유 판매 대금으로 미국 국채를 구매해 달러의 기축통화 지위를 유지시켰다.    

 

이를 페트로달러 시스템 일명 석유 본위제로 부른다.

사우디가 돈을 막 썼을 때 달러 = 원유이므로 돈을 쓴 만큼 원유를 생산해야 하는데, 

이는 달러가치의 하락으로 이어진다. 

그래서 미국채 매입을 요구한 것이고, 사우디 왕가 입장에서는 미국채는 자산을 은닉하기에 최고 수단이다.

 

왜 미국이 중동에 그렇게 관심이 많은지 이러한 맥락을 보면 이해할 수 있다.

 

하지만 페트로달러 시스템도 트리핀 딜레마가 존재한다.

 

전세계에 자국의 화폐를 공급하면, 

무역적자 발생 -> 화폐가치 하락 -> 값싼 물가 -> 수출 경쟁력 상승으로 자정작용이 발생해야 하는데, 미국의 달러는 금이나 원유에 달러가 묶여있기에 이러한 자정작용이 불가능했다.

 

금본위제 같은 경우 무역적자가 발생하면 화폐가치가 하락하는 것이 아니라, 가치가 있는 금유출이 발생한다.

페트로달러 시스템의 경우는 원유 유출이 아니라, 수출기반 산업과 제조 경쟁력이 유출 된다.

이로 Rust Belt라는 제조업 기반의 지역들이 무너지는 상황이 발생했다.

 

물론 기축통화가 이점도 있다.

돈을 찍어내도 화폐가치가 하락하지 않고, 다국적 기업이 진출하는데 이점이 있다.

미국채 수요로 인해 미국으로의 투자가 몰려 국채 금리를 낮게 유지하는 것이 가능하다.

 

그렇다면 왜 미국은 기축통화 지위를 버릴 수 있다고 말 하는 걸까?

크게 5가지 이유로 알 수 있다.

 

1. 냉전 후 불필요한 군비 지출

냉전, 원유, 기축통화 유지라는 세가지 명목으로 군비를 지출했지만, 냉전은 종료 되었고, 원유는 자국생산이 가능해졌다.

 

2. 중국의 부상

글로벌 경제의 미국 비중이 중국의 부상으로 40%에서 20%로 줄었다. 작아진 입지에 따른 기축통화 유지비용이 증가했다.

 

3. 경제안보

타국의 미국채 매입 중단으로 경제 체계가 흔들릴 수 있다. 원래는 미국이 무역을 제공하고, 무역흑자국이 미국으로 얻은 이익으로 국채를 매입하는 구조였지만, 중국이 미국채 매입을 중단하고 실물 자산과 인프라를 매입하며 Fed의 국채 매입의 부담이 증가했다.

 

4. 중산층의 몰락과 양극화, 정치 불안정성

위에서 말한 제조업 기반의 산업이 무너지면서 산업간의 양극화가 심화되고, 중산층과 상위 계층간의 갈등이 심화되었다.

 

5. 노동 집약 산업의 몰락

4차 산업혁명이 진행되고, 자동화 혁신이 이뤄지면서 미국이 수출 시장의 진출이 가능해짐 달러의 기축통화 지위를 버리고

달러의 가치를 내려서 수출 싸움이 가능해진다.

트럼프가 미국 기업들에게 미국으로 돌아와서 미국 일자리 만들어라고 강요하는 것도 이러한 맥락

반응형

댓글()

Finance 참고 블로그

Quant|2022. 3. 20. 16:01
반응형

크래프트테크놀로지 CEO 브런치

 

김형식의 브런치

크래프트테크놀로지스 CEO | 크래프트테크놀로지스 CEO 김형식의 브런치입니다.

brunch.co.kr

크래프트테크놀로지스 채용페이지, 인사이트

 

Open Positions(국문)

Qraft AI/Finance Research

qraft.oopy.io

 

Pair Trading — QRAFT

Eigenvalue based pair-trading strategy is a well-known market neutral strategy and has been used by many investors including D.E. Shaw&Co. As the strategy is widely accepted and implemented in the market, the effectiveness of strategy is continuously deter

www.qraftec.com

 

한국어 — QRAFT

English Subtitles Included Read More

www.qraftec.com

금융 머신러닝 책 소개

 

[Book] 금융 머신러닝 - 이론에서 실전까지

금번에 이기홍박사님이 번역하신 금융 머신러닝책을 소개합니다.원서로 출간했을 때 번역해볼려고 한 책으로 스프링거(Springer)출판사 책 답게 입문서적은 아니고 어렵지만 금융 머신러닝 전공

brunch.co.kr

머신러닝 위주의 트레이딩 전략 

 

트레이딩전략 | 그대안의 작은 호수

자본시장과 IT, 트레이딩전략 Normal로 진화한 Alternative Data 1. Alternative Data. 대체데이타라고 번영합니다. 일반적으로 투자 및 자산운용할 때 보편적으로 사용해왔던 시장 정보(시장, 원자재, 환율

smallake.kr

Pairs Trading & 시장미시구조론 기초/심화 

 

아마추어 퀀트 (Amateur Quant) : 네이버 블로그

투자의 정석은 존재하는가?

m.blog.naver.com

알고리즘 트레이딩 위키 자료

 

알고리즘 트레이딩 - 해시넷

알고리즘 트레이딩(Algorithmic trading)은 컴퓨터 프로그램을 이용하여 일정한 논리구조나 알고리즘, 특정 매매기법에 따라 증권, 외환, 파생상품 등의 자산을 자동으로 거래하는 매매 방식이다.[1]

wiki.hash.kr

기술적 분석, 파생상품, 데이터사이언스

 

'Strategy/Market Neutral' 카테고리의 글 목록

퀀트투자 블로그

yonelabs.tistory.com

퀀트 프로그래밍

 

투자 하는 개발자 : 네이버 블로그

투자에 진심인 개발자

blog.naver.com

퀀트 전략

 

Henry's Quantopia : 네이버 블로그

예전의 그 HenryQuant가 네이버 블로그로 이동했습니다. henryquant.blogspot.com 에 과거글은 남아 있습니다.

blog.naver.com

Pairs Trading 전략

 

Finance

[Quant] 주식리스크 프리미엄 구하기 03 November 2019 리스크 프리미엄(risk premium) 또는 위험 프리미엄은 개인이 무위험 채권이 아닌 위험 자산을 보유하도록 유도하기 위해 위험 자산의 기대수익이

mkjjo.github.io

Finance Project (1)

 

kk : 네이버 블로그

알면 알수록 제가 얼마나 많은 것을 모르고 있었는지 새삼 느끼게됩니다.

m.blog.naver.com

Finance Project (2)

 

BlackPaper

Quantitative Investment

quantkim.blogspot.com

머신러닝 위주의 트레이딩 전략

 

 

auquan – Medium

Capital Markets are drowning in data — there is too much data and too many tools. Auquan is transforming investment research using knowledge graphs to cut research time from weeks to hours and expand data coverage available to an investment team; ena

medium.com

퀀트 기초

 

 

 

Cherry Quant

**cherry 가 만들어가는 Quant 이야기** 다양한 정보와 글을 공유하고자 합니다. 모든글의 하단에는 출처가 공개되어 있습니다. 문제시 말씀주시면 삭제하도록 하 ...

wikidocs.net

퀀트 로드맵

 

[공유] 퀀트 투자 로드맵과 전략테스트 방법, 논문들 - 이성규, HENRY

최근 액티브 펀드들의 성과가 좋지 못하다 보니, 많은 분들이 스마트베타 ETF나 퀀트 투자에 관심이 많...

blog.naver.com

 

KAIST 교수님 추천 Pairs Traing 논문

 

Pair Trading & 통계적 차익거래 Reading List <KAIST>

2021년 KAIST 현정순 교수님의 통계적 차익거래 수업에서 쓰이는 자료들 이다. 페어트레이딩이나 통계...

blog.naver.com

AI 퀀트 영상

 

 

[AI퀀트] 금융머신러닝 공부를 위해 봐야할 동영상

금융 머신러닝 공부를 위해 봐야할 동영상 소개 | ‘퀀트 투자를 위한 머신러닝·딥러닝 알고리듬 트레이딩’ 공역자인 금융자산평가사 NICE P&I 홍창수입니다. 참고로 P&I는 Pricing and Information의

brunch.co.kr

AI 자산 관리 e-book

https://www.cfainstitute.org/-/media/documents/book/rf-lit-review/2020/rflr-artificial-intelligence-in-asset-management.pdf

 

Reference 사이트

 

 

퀀트들이 참고하면 좋은 웹사이트

일반적으로 퀀트는 정량적 분석의 도움을 받아 복잡한 알고리즘을 설계하는 금융 기술 산업의 전문가입니다...

blog.naver.com

 

 

반응형

댓글()

[Quant Strategy] NCAV 전략 - 2022.03.16 기준

Quant|2022. 3. 17. 13:59
반응형

NCAV 전략이란 무엇인가? 

 

[공유] 그래햄의 NCAV(순유동자산) 전략 – 거저 먹기 투자, 한국에서 아직도 가능하다 - 강환국

그래햄의 NCAV(순유동자산) 전략...

blog.naver.com

 

코스피/ 코스닥 상장된 모든 주식을 NCAV 전략으로 스크리닝 한 결과이다.

단, 홀딩스/ 우선주 제외하였다.

스크리닝 결과

SJM, 대원, 대원산업, 삼양동상, 삼영전자, 세원정공, 신도리코, 이니텍, 이라이콤이 있음을 확인할 수 있었다.

동일 가중으로 위 종목들을 포트폴리오에 구성했을 때, 6개월 후(2022.09.16) 수익률을 확인해보도록 하겠다.

 

 

추가 수정해야할 부분 상장폐지, 거래정지 고려 안함

https://blog.naver.com/leebisu/222441169620

 

거짓된 백테스트를 만드는 오류들

백테스트 수익률이 매우 좋아 투자를 시작하면 막상 실제 수익률은 그렇지 않은 경우가 많습니다. 이는 여...

blog.naver.com

https://blog.naver.com/leebisu/222430224622

 

퀀트들이 참고하면 좋은 웹사이트

일반적으로 퀀트는 정량적 분석의 도움을 받아 복잡한 알고리즘을 설계하는 금융 기술 산업의 전문가입니다...

blog.naver.com

 

반응형

댓글()

[Project] 증권사 리포트에 따라 사면 어떻게 될까??

Quant|2022. 3. 11. 13:50
반응형


Question

문뜩 증권사 애널리스트 말대로 사면 좋은 수익을 낼 수 있는지 의문이 들었다.

애널리스트는 직업으로 기업 분석에 모든 시간을 투자하기 때문에 개인 투자자보다 

분석에 우위를 가지고 있을 것이기 때문이다.


Design

Where & Who

어떤 증권사의 애널리스트들을 선정했는지는 해당 증권사, 애널리스트 이미지에

오해의 소지를 가져올 수 있으므로 blind 처리하였다.

 

How

증권사 홈페이지에 게시된 리포트 종목/날짜/평가등급을 크롤링 후

dataframe으로 변경 후, 리포트 게시 날의 종목 가격, 일정 기간 후의 가격, 변화율 특성을 추가한다.

 

When 

2019년 1월 1일 ~ 2022년 1월 1일까지 게시된 리포트를 구하고,

3개월 이후의 가격과 비교하도록 한다.

 

What

기간 내 10개 미만의 리포트를 쓴 애널리스트는 제외시킨다.


Develop

1) 애널리스트 이름과 각 애널리스트들의 리포트를 내역을 저장할 dataframe list 생성

name_list = ['이**' ,
'최**' ,
'박**' ,
'이**' ,
'이**' ,
'박**' ,
'안**' ,
'김**' ,
'정**' ,
'이**' ,
'김**' ,
'백**' ,
'허**' ]

analysis_list = []

2) 종목 가격을 찾는 API를 사용하려면 종목코드로 검색해야 하기 때문에 종목명 : 종목코드 dictionary 생성

stock_list = pd.DataFrame({'종목코드':stock.get_market_ticker_list(market="ALL")}) 
stock_list['종목명'] = stock_list['종목코드'].map(lambda x: stock.get_market_ticker_name(x))
stock_list = stock_list.set_index('종목명').T.to_dict('list')

3) 리포트 데이터들 크롤링

def analysis_crawling(name) :

  # site page 별로 데이터 크롤링 
  df_list = []
  
  # 애널리스트별로 page 수가 다르기 때문에 page 수를 16으로 설정
  page_num = 16

  # page 수만큼 다 크롤링해서 중간에 끊기는 경우 braek로 크롤링 중단
  exit1 = 0
  exit2 = 0

  for i in range(page_num):
    
    if exit2 == 1:
      break

    # 해당 url로 이동 , 19년 1월 1일 ~ 22년 1월 1일
    url = "url 주소는 blind"
    driver.implicitly_wait(10)
    driver.get(url)
    driver.implicitly_wait(10)
    
    # table 형태의 애널리스트 리포트 데이터 추출
    table = driver.find_element_by_class_name() # blind
    tbody = table.find_element_by_tag_name("tbody")
    rows = tbody.find_elements_by_tag_name("tr")

    df = pd.DataFrame()

    for k in range(3):
      if exit1 == 1:
        exit2 == 1
        break

      content = []
      
      for index, value in enumerate(rows):
          body=value.find_elements_by_tag_name("td")[k]
          content.append(body.text)

	  # page 끝난 경우
      if k == 0 :
        if body.text == '조회 자료가 없습니다.':
          exit1 = 1
          break
        # 날짜 데이터
        else :
          df['date'] = content
      elif k == 1 : # 종목 데이터
        df['stock'] = content
      elif k == 2 : # 평가 등급 데이터
        df['rate'] = content
    
    # page 별로 만들어진 dataframe list에 추가 
    df_list.append(df)
  
  # df_list 에 있는 page 별 report들 통합
  analysis = pd.concat(df_list)
  # 과거 -> 현재 순으로 정렬
  analysis = analysis[::-1]
  # 날짜 형식 변경
  analysis["date"] = analysis["date"].str.replace(pat=r'[^\w]', repl=r'', regex=True)


  return analysis

4) 날짜에 따른 가격 데이터 열 생성

def price_search(analysis, name) :
  re_price = []
  af_price = []

  for i in range(analysis.shape[0]) :  
    
    # 종목 코드
    c = stock_list.get(analysis['stock'].iloc[i]) 
    
    if c == None :
      re_price.append(0)
      af_price.append(0)
      
      continue 
    else :
      c = c[0]

    # 리포트 발표 날짜 
    re_date = analysis['date'].iloc[i]
    
    # 주말 , 공휴일, 연휴 고려 탐색기간 5일
    re_end = datetime.datetime.strptime(re_date, '%Y%m%d') + datetime.timedelta(hours=96)  
    re_end_str = re_end.strftime('%Y%m%d')
    
    # 발표 날 주가 데이터
    re_p = stock.get_market_ohlcv(re_date, re_end_str, c)
    
    # 주가가 없으면 0원 처리
    if re_p.shape[0] == 0 :
      re_e = 0
    else :
      re_e = re_p['종가'].iloc[0]

    # 3개월 후 주가 
    af_date = datetime.datetime.strptime(re_date, '%Y%m%d') + datetime.timedelta(weeks=12)
    af_end = af_date + datetime.timedelta(hours=120)  
    
    # datetime -> str
    af_date_str = af_date.strftime('%Y%m%d')
    af_end_str = af_end.strftime('%Y%m%d')
    
    # 발표 날 주가 데이터
    af_p = stock.get_market_ohlcv(af_date_str, af_end_str, c)
    
    # 주가가 없으면 0원 처리
    if af_p.shape[0] == 0 :
      af_e = 0
    else :
      af_e = af_p['종가'].iloc[0]


    re_price.append(re_e)
    af_price.append(af_e)
    
  # 리포트 등록 날 주가, 3개월 후 주가 특성 추가
  analysis['report_price'] = re_price
  analysis['month_price'] = af_price
  
  # 꼬인 index 재정렬
  analysis.reset_index(inplace=True, drop=True)

  # 주가 열이 0인 경우 해당 행 삭제
  indexNames = analysis[ (analysis['report_price'] == 0)
                  | (analysis['month_price'] == 0) ].index
  analysis.drop(indexNames , inplace=True)
  
  # 3개월 변화율 특성 추가
  analysis['change'] = 100 * (analysis['month_price'] - analysis['report_price']) / analysis['report_price']

  # 오른 종목 수 counting
  u = 0

  for i in range(analysis.shape[0]):
    if analysis['change'].iloc[i] > 0 :
      u += 1
  
  # report 수 대비 오른 종목 수로 점수화 
  print("Analysis score is  : " , round(u /analysis.shape[0],3))

  return analysis

Evaluation

analysis score가 가장 높은 사람의 점수는 0.635이고, 가장 낮은 사람의 점수는 0.136이다.

 

name : 애널리스트 이름

outperform : 리포트 중 가장 많이 오른 종목

max ratio : 가장 많이 오른 종목의 3개월 변화율

max ratio : 가장 많이 내린 종목의 3개월 변화율

mean propit ratio : 평균 수익률

analysis score : 등록한 report  대비 상승한 종목 비율

 

name : 이**
outperform : 카카오 
max ratio : 66.75%
min profit ratio : -49.041% 
mean propit ratio : 3.958%
analysis score is : 0.571
number of report : 126

name : 최**
outperform : 두산
max ratio : 57.48%
min profit ratio : -30.036% 
mean propit ratio : -0.133%
analysis score is : 0.437
number of report : 119

name : 박**
outperform : 상아프론테크
max ratio : 155.446%
min profit ratio : -50.76% 
mean propit ratio : 3.195% 
analysis score is : 0.455
number of report : 156

name : 이**
outperform : LG전자
max ratio : 108.187%
min profit ratio : -29.924% 
mean propit ratio : 9.511%
analysis score is : 0.635
number of report : 115

name : 이**
outperform : 세아베스틸
max ratio : 97.77%
min profit ratio : -40.809%
mean propit ratio : 2.034%
analysis score is : 0.481
number of report : 135

name : 박**
outperform : 신세계인터내셔날
max ratio : 40.751%
min profit ratio : -36.961%
mean propit ratio : -2.361% 
analysis score is : 0.409
number of report : 225

name : 안**
outperform : 서울옥션
max ratio : 101.863%
min profit ratio : -39.627%
mean propit ratio : 4.022% 
analysis score is : 0.494
number of report : 85

name : 김** 
outperform : 동화기업
max ratio : 113.58%
min profit ratio : -42.105% 
mean propit ratio : 2.762%
analysis score is : 0.465
number of report : 172

name : 정** 
outperform : 한국금융지주
max ratio : 51.515%
min profit ratio : -33.381% 
mean propit ratio : 3.65% 
analysis score is : 0.574
number of report : 289

name : 이**
outperform : 카페24
max ratio : 45.206%
min profit ratio : -52.922% 
mean propit ratio : -1.786%
analysis score is : 0.399
number of report : 143

name : 김**
outperform : 에코프로비엠
max ratio : 111.623%
min profit ratio : -21.259%
mean propit ratio : 11.043%
analysis score is : 0.595
number of report : 84

Name : 허**
outperform : 아이엘사이언스
max ratio : 37.072%
min profit ratio : -36.853% 
mean propit ratio : -12.564% 
analysis score is : 0.136
number of report : 22

 

Feedback

사실은 각 애널리스트 저마다 올리는 리포트의 섹터가 다르다 

score가 높은 사람은 해당 기간 동안 해당 섹터가 선방했기 때문에 점수가 높은 것이고,

score가 낮은 사람은 그 반대이다.

 

또한 대부분의 애널리스트의 점수가 0.5 근처인 것을 보았을 때,

내부자 정보를 알지 않는 이상 아무리 분석을 많이 한 사람이라도 주가의 향방 타이밍은 알 수가 없다.

애널리스트는 기업의 내제 가치를 평가하는 사람일 뿐 기업의 미래를 아는 사람은 아니다.

 

 

 

 

피터 린치의 명언으로 마무리

 

 

반응형

'Quant' 카테고리의 다른 글

Finance 참고 블로그  (26) 2022.03.20
[Quant Strategy] NCAV 전략 - 2022.03.16 기준  (11) 2022.03.17
[Quant Strategy] Pair Trading with Long/Short  (17) 2022.02.20
Project : Price and EPS NTM  (0) 2021.12.09
[금융상품] 채권  (18) 2021.10.26

댓글()

[Quant Strategy] Pair Trading with Long/Short

Quant|2022. 2. 20. 20:39
반응형
LongShort
반응형

'Quant' 카테고리의 다른 글

[Quant Strategy] NCAV 전략 - 2022.03.16 기준  (11) 2022.03.17
[Project] 증권사 리포트에 따라 사면 어떻게 될까??  (35) 2022.03.11
Project : Price and EPS NTM  (0) 2021.12.09
[금융상품] 채권  (18) 2021.10.26
[금융상품] 원유  (20) 2021.10.18

댓글()

Project : Price and EPS NTM

Quant|2021. 12. 9. 20:39
반응형

🌒 Problem

평소 자주 사용하던 Koyfin에서 일부 회사 데이터를 유료로 제공하게 되었다.

🌓 Do

EPS 값과 가격 데이터만 있으면 충분히 나도 구현 가능할 것이다

 

🌔 Prepare

가격 데이터는 야후 파이낸스 api에서 제공해주므로 eps 데이터만 구해주면 된다.

 

🌕 Code

# Ticker 와 살펴볼 시작 날을 정한다

ticker = 'aapl'
date = '2020-01-01'

EPS 데이터 준비

야후 파이낸스에서 제공하는 eps는 가장 최근 분기가 아니라
현재 분기 전 2분기까지만 제공한다.

EX ) 애플 3분기 실적 2.0이라면, 애플 1분기 실적 1.8까지만 제공
따라서 가장 최근 분기와 그 이전 분기를 nasdaq.com에서 크롤링해 온다
또한 NTM 계산을 해야하므로 다음 분기들의 Consensus 값들도 크롤링한다.

NTM 계산방법 : 21년도 3분기 NTM
 = 21년도 4분기 eps + 22년도 1분기 eps + 22년도 2분기 eps + 22년도 3분기 eps 
# 셀레니움 설치

!pip install selenium
!apt-get update
!apt install chromium-chromedriver
#셀레니움 라이브러리 import

from selenium import webdriver
from urllib.request import urlopen
from bs4 import BeautifulSoup as bs
from urllib.parse import quote_plus
from selenium.webdriver.common.keys import Keys
import time
from IPython.display import Image
import urllib
import time
# Colab에선 웹브라우저 창이 뜨지 않으므로 별도 설정한다.
# Colab 기본 설정 
options = webdriver.ChromeOptions()
options.add_argument('--headless')        # Head-less 설정
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36'
options.add_argument('user-agent={0}'.format(user_agent))
driver = webdriver.Chrome('chromedriver', options=options)

#해당 url로 이동 ex : MSFT
url = "https://www.nasdaq.com/market-activity/stocks/"+ticker+"/earnings" 
driver.implicitly_wait(10)
driver.get(url)

consensus EPS 크롤링

import pandas as pd

# consensus EPS 크롤링
driver.implicitly_wait(10)
table = driver.find_element_by_class_name('earnings-forecast__section--quarterly')

# 통채로 추출한 테이블에서 필요한 consensus EPS 부분만 따로 추출
tbody = table.find_element_by_tag_name("tbody")
rows = tbody.find_elements_by_tag_name("tr")
eps = []

for index, value in enumerate(rows):
    body=value.find_elements_by_tag_name("td")[0]
    eps.append(body.text)

#다음 5개 분기의 consensus의 정확한 날을 모르므로, 최대한 미래 값으로 설정하였다.
eps_dict = {
    '2099-01-01': eps[0],
    '2099-01-02': eps[1],
    '2099-01-03': eps[2],
    '2099-01-04': eps[3],
    '2099-01-05': eps[4],
}

# dataframe 형태의 다음 5분기에 대한 consensus eps
eps = pd.DataFrame.from_dict(eps_dict, orient='index').rename(columns={0:'epsactual'})

실행 결과

현재 분기와 이전 분기 EPS 크롤링

import datetime

# 지금까지 발표된 eps 크롤링
table = driver.find_element_by_class_name('earnings-surprise__table')

# 문자열 형태로 받은 eps 데이터를 띄어쓰기 단위로 나눔
table_list = table.text.split()

# 15번째와 21번째에 현재분기와 이전분기 발표 날짜가 저장되어있고
## 여기서 사용하는 날짜 형식은 "2021-12-09" 이므로 해당 형태로 바꾸어준다. 
table_list[15] = table_list[15][6:] + '-' + table_list[15][:2] + '-' + table_list[15][3:5] 
table_list[21] = table_list[21][6:] + '-' + table_list[21][:2] + '-' + table_list[21][3:5]

# 크롤링한 eps 데이터를 딕셔너리 형태로 바꾸고, 이를 다시 dataframe 형태로 바꿔준다.
eps_b = {
    table_list[15] : table_list[16]
    ,
    table_list[21] : table_list[22]
}

# 날짜를 index로 설정하고, eps열의 이름을 'epsactual' 로 지정
eps_second = pd.DataFrame.from_dict(eps_b, orient='index').rename(columns={0:'epsactual'})

# 날짜가 내림차순으로 정렬 되어있어 다시 역순으로 정렬
eps_second = eps_second.iloc[::-1]

실행 결과

# 가격 데이터와 eps 데이터를 불러오기 위한 
## 야후 파이낸스 api 설치
!pip install yahoo_fin
!pip install yahoo_fin --upgrade
import pandas as pd
import yahoo_fin.stock_info as si

# price history
price = si.get_data(ticker)

# earnings history 
earnings_hist = si.get_earnings_history(ticker)

## index가 [4:] 인 이유는 미래 4개 분기의 eps 데이터를 불러오는데 
### None 값으로 가져오기 때문에 잘라버림
earnings_hist = earnings_hist[4:]

# list 형식으로 불러온 것을 dataframe 형태로 바꿔줌
earnings = pd.DataFrame(earnings_hist)

# 미래 -> 과거 순에서 과거 -> 미래 순으로 바꿈
earnings = earnings[['startdatetime','epsactual']].iloc[::-1]

# 날짜 10글자로 조정
earnings['startdatetime']  = earnings['startdatetime'].str.slice(start=0, stop=10)

# startdatetime -> Date 로 이름 변경
earnings = earnings.rename({'startdatetime': 'Date'}, axis=1)

# 날짜 data를 index로 설정
earnings = earnings.set_index('Date',inplace = False)

#크롤링한 eps data와 실제 eps를 합침
EPS_plus_forcast = earnings.append(eps_second, ignore_index=False)

## 날짜와 eps 가 중복되는 경우가 발생하는데, 가장 밑에 있는 요소를 살리고 
## 나머지는 다 지우도록 설정
EPS_plus_forcast = EPS_plus_forcast.loc[~EPS_plus_forcast.index.duplicated(keep='last')]
### ex : "2021-01-01" "2.1" , "2021-01-01" "2.3" 인 경우 
### 후자를 선택하고 이전 값은 제거


EPS_plus_forcast = EPS_plus_forcast.append(eps, ignore_index=False)
EPS_plus_forcast

실행 결과

# 왜인지는 모르겠는데 eps가 지수표현이 되어 출력돼서 
# 소수점 3글자만 출력하도록 설정
## 1.0+e0 -> 1.000
pd.options.display.float_format = '{:.3f}'.format
Pandas의 rolling 사용하면 NTM을 쉽게 계산할 수 있다.
하지만 rolling 기능은 자기 자신과 이전 N개의 합을 계산하므로,
EPS를 뒤집어서 계산해야 한다.

또한 NTM은 자기 자신의 eps는 포함하지 않으므로, rolling 이후, 자기 자신을 빼주어야 한다.
# ntm 계산용으로 eps 뒤집기
ntm_tmp = EPS_plus_forcast.iloc[::-1] 

# 자기 자신도 포함해서 더해버려서 5개를 더하고 자기자신을 빼면 미래의 4개가 됨
ntm_tmp = ntm_tmp['epsactual'].rolling(window = 5, min_periods=5).sum()

# ntm 다시 처음으로 되돌리기
ntm_tmp = ntm_tmp.iloc[::-1] 

# eps와 ntm의 요소가 str로 되어있는 경우가 있어 
# float 형태로 바꿔준다
ntm_tmp = ntm_tmp.astype('float')
EPS_plus_forcast = EPS_plus_forcast.astype('float')

# rolling 값에서 자기 자신 값을 빼준다.
NTM = ntm_tmp.to_frame(name='epsactual').sub(EPS_plus_forcast, fill_value = 0, axis = 0)

 가격 데이터와 EPS 데이터를 합쳐 하나의 dataframe으로 정리한다. 

# NTM과 가격데이터 융합
df = price.join(NTM)

# 실적 발표한 날 이전의 날들은 
## 그 이전 실적발표한 날의 NTM으로 설정한다
df = df.fillna(method='ffill')

# dataframe의 모든 요소를 출력
pd.set_option('display.max_row', None)

df.tail()

실행 결과

데이터 시각화

import matplotlib.pyplot as plt

# 처음 설정한 날짜부터 나타내도록 dataframe을 자른다. 
df = df.loc[date:]

# 가격 데이터(종가)를 그래프화
ax=df.plot(kind='line', y='close', color='DarkBlue', figsize=(20,10))

# NTM을 그래프화
ax2=df.plot(kind='line', y='epsactual', secondary_y=True,color='Red', ax=ax)

ax.set_ylabel('Price')
ax2.set_ylabel('EPS')

plt.show()

짜잔~

🌗 Part to supplement

사이트마다 다음 분기의 Consensus가 극명하게 달랐고 특히 'DOCU' 같은 경우 

nasdaq.com, 야후 파이낸스, investing 세 사이트 모두 달랐다.

 

이 문제는 추후 보완해볼 예정이다.

Koyfin의 NTM 계산 방법과 api와 사이트에서 제공하는 데이터를 사용해

내가 산출한 결과와 미세한 차이는 있지만, 엄청 크지는 않다.

반응형

'Quant' 카테고리의 다른 글

[Project] 증권사 리포트에 따라 사면 어떻게 될까??  (35) 2022.03.11
[Quant Strategy] Pair Trading with Long/Short  (17) 2022.02.20
[금융상품] 채권  (18) 2021.10.26
[금융상품] 원유  (20) 2021.10.18
[금융 상품] 금 / 은  (187) 2021.10.13

댓글()

[금융상품] 채권

Quant|2021. 10. 26. 21:15
반응형

아래 영상을 참고하여 작성하였음

 

 

채권 종류

무이자 할인채(Zero Coupon Bond) :  이자없이 발행 시 할인해서 발행

이자 지급 채권 : 액면가에 판매해 이자를 주고 만기 때 액면가를 돌려줌

 

채권 특징

회사 부도/파산일 경우 원금 손실이 가능하지만 주식보다 상환이 우선순위이다.

 

국채(이머징 채권), 회사채(우량채, 하이일드 채권)

BBB 이상 : 투자적격 우량채, 경기 하락시에 Outperform

BB 이하 : 투자부적격 하이리드 채권 - 주식과 아주 비슷한 모습을 보임.

경기 상승기에 Outperform

 

신용 등급별 이자율 표

 

한국신용평가

의견등록 입력이 완료되었습니다 담당자 확인 후 회신드리겠습니다 감사합니다

www.kisrating.co.kr

만기가 길수록, 신용 등급이 낮을 수록 이자율이 높음을 알 수 있다.

 

경제 상황이 나빠지면 리스크 프리미엄이 올라가 낮은 등급일수록 채권 이자율이 상승함

 

이자율 결정 요인

1) 신용도 - 신용이 높을수록 적므리 대출 가능

2) 만기 - 만기가 길 수록 리스크 노출 증가
   Duration은 채권 가격이 이자율 변화에 얼마나 민감한지 이야기해주는 척도이다.

3) 경제 상황 - 경기가 안 좋고 회사 위험이 높아질수록 이자가 높아짐

 

금리 상승과 채권 가격의 결정

 

만약 액면가 100$, 4%이자(매년 4$) 채권이 있다고 할 때,

금리가 1%상승 하면, 새로 발행된 액면가 100$ 5% 채권을 사지 이전의 채권은 아무도 안 삼

만약 이전의 채권을 80$에 판다면, 매년 4$를 받으니 이자 5%가 되고, 최근에 발행된 채권과 비슷한 매력도를 가짐

하지만, 채권의 가격은 금리 1% 상승에 20%정도 하락을 하게 됨

 

위의 계산은 만기시 돌려받는 금액을 생각하지 않았기에 잘못된 계산임

새로 발행된 채권은 만기 시 100+5$의 결과이고

기존 발행된 채권은 만기 시 100+4$의 결과이므로,

비슷한 매력도를 가지게 하려면 100+4-5$인 99$로 채권 가격을 파는 것이 맞다.

 

80$에 이걸 샀다면, 만기에 100 + 4$를 받고 104-80 이므로 1년만 놓고보면, 매수자는 24$ 30% 이득을 본다.

 

가산금리

개별 채권 금리 = 국채금리 + 가산금리 Spread

가산금리는 시장 위험 척도, 즉 RiskPremium이다.

시장의 위험을 미리 감지할 수가 있고, 시중금리라 반대로 움직이는 성격을 가진다.

 

리보금리

리보금리는 은행간 빌려주는 금리

TED Spread는 금융시스템과 은행의 건전성과 관련있다.

 

CDS

CDS는 기초자산에 대한 신용 리스크를 헷지하기 위한 보험이다.

[매수 포지션] 기초 자산에 대한 보험을 삼 -> 이에 따른 프리미엄을 지불

[매도 포지션] 기초 자산에 대한 보험을 팖 -> 기초 자산 파산 시 큰 금액을 보상

 

투자 타이밍

금리하락이 기대될 때는 장기채에 투자한다.

금리 하락시 채권가격 상승에 대한 이익을 극대화 함

Duration이 크니 채권 가격상승의 정도가 더 커진다.

물론 이상황에서 닫ㄴ기채를 사도 이득이지만 장기채의 이득이 더 크다.

 

금리상승이 기대 될 때는 단기채에 투자한다.

금리 상승 시 듀레이션이 짧은 채권에 투자함으로써 손실을 최소화

위와 같은 이유로 채권 가격이 하락하니 하락폭이 적은 단기채에 투자한다.

 

 

 

더 알아보고 싶은 부분은 Duration이 어느정도의 레버리지 효과를 가지고 있는지 궁금하다.

반응형

'Quant' 카테고리의 다른 글

[Project] 증권사 리포트에 따라 사면 어떻게 될까??  (35) 2022.03.11
[Quant Strategy] Pair Trading with Long/Short  (17) 2022.02.20
Project : Price and EPS NTM  (0) 2021.12.09
[금융상품] 원유  (20) 2021.10.18
[금융 상품] 금 / 은  (187) 2021.10.13

댓글()

[금융상품] 원유

Quant|2021. 10. 18. 15:33
반응형

 

 

원유 매매의 특징

1. 거시경제와 지정학적 상황에 따른 장기추세 파악이 용이
2. 기술적 분석이 잘 먹힘
3. 주요 플레이어들에 의해 가격 경계가 형성

 

원유 매매의 요소

5가지 요소로 볼 수 있다.

 

I. 국제 정세와 각 주요 플레이어들의 의도와 동향

 

  • OPEC
    OPEC의 영향력이 약해지는 5가지 이유.

    1) 사우디에 대한 신뢰성 하락
    2) 카타르의 탈퇴
    3) 러시아의 강해지는 영향력
    4) 미국 셰일 업계의 지속적인 견제
    5) 미국의 NOPEC Bill - OPEC 반독점 법안

  • 사우디
    매장량 부풀림, 생산여력 부정확, GDP 신뢰성 하락
    미국 셰일 업계 공격으로 원유 가격을 내렸지만 오히려 사우디가 당함

    크게 위 두가지 이유로 OPEC의 수장 격의 국가지만 위상이 낮아지고 있음

  • 미국
    미국 셰일업계는 사우디의 공격을 버티면서 저유가에 경쟁력을 가지게 되었다.
    -> "미국과 사우디의 관계가 점점 악화된다"는 말은
         "미국이 페트로 달러 시스템을 장기적으로 버려갈 수도 있다"는 힌트가 될 수 있다.

    OPEC과 러시아는 원유가격원유 가격 상승을, 미국은 원유 가격 하락을 원함

    이상적인 원유가격은 다른 산유국들이 생산량을 절제해야 할 정도로 낮으면서도
    본인들의 생산 원가보다는 높은 레벨이다.
    원유 가격이 너무 높으면, 모두가 생산을 늘려 미국은 점유율 하락으로 이어지고 손해가 발생한다.

  • 이란
    지정학적으로 매우 중요한 위치
    트럼프 정부의 핵 파기에 따라 미국과의 관계 악화 및 중국 러시아와 친교

  • 러시아
    미국과 이란의 관계 악화에 따른 큰 수혜자
    매장량은 적지만, 파이프라인의 지정학적인 영향이 큼
    유럽 원유 수입의 1/3을 러시아로부터 충당

  • 이라크
    미개발지가 많아, 공식 통계가 과소평가되었다는 이야기가 있다.

  • 중국
    2000년대 원자재 슈퍼사이클을 창조한 최대 원유 수입국

II. 경기 사이클

    코로나 폭락으로 마이너스 유가 후 점차 회복되는 모습

    원유 수요가 폭발하는데 이에 맞춘 공급은 몇 년 이상 걸리며 장기적인 추세가 생기는 현상

 

III. 원유가격의 상단과 하단을 파악

     
    1) 미국의 불편한 가격 - 뉴스를 보면 미국 정치권에서 알아서 나온다.

    2) OPEC과 러시아가 감산 중일 경우, 감산을 끝내는 타이밍
    3) Breakeven price는 Fiscal Breakeven(정부 예산의 손익분기)과 External Breakeven(경상 수지의 손익분기)로

       나눌 수 있고, 매매에서는 External을 보는 게 맞다. (정부에 대한 신뢰도가 저마다 달라 그런 듯)

       

       경상수지란 통상 영업 활동의 과정에서 생기는 수입과 지출의 차액을 말한다.

       따라서 유가가 External들의 분포보다 낮게 형성되어 있을 때, 매수하는 전략도 잘 통한다.

 

아래 사이트에서 국가별 자세한 원유 정보를 볼 수 있다.

 

Cost of Oil Production by Country - knoema.com

(Oct 2018) Global oil prices have fallen by more than 30 percent since the summer of 2014, affecting oil producers and consumers alike. This dashboard presents oil price dynamics and the breakeven oil prices—minimum oil price to cover general governmen

knoema.com

 

IV. 기술적 분석

     차트 분석

 

V. 상품 선정 및 진입
   

    상품은 선물, ETF, 옵션 등 다양함

    진입 타이밍은 위의 네 가지가 같은 방향을 가리킬 때가 적절하다.    

 

참고로 에너지 상품은 스프레드 전략들이 많다.

예로, 월 물간 스프레드, 상품 간 스프레드, 분리 스프레드, 크랙 스프레드가 있다.

반응형

'Quant' 카테고리의 다른 글

[Project] 증권사 리포트에 따라 사면 어떻게 될까??  (35) 2022.03.11
[Quant Strategy] Pair Trading with Long/Short  (17) 2022.02.20
Project : Price and EPS NTM  (0) 2021.12.09
[금융상품] 채권  (18) 2021.10.26
[금융 상품] 금 / 은  (187) 2021.10.13

댓글()

[금융 상품] 금 / 은

Quant|2021. 10. 13. 18:08
반응형

아래 영상을 참고해 작성했습니다.

 

 

“미국이 기축통화 지위를 버릴 것이다.”라는 의견을 처음 듣는다면


1. 얼토당토하지 않은 이야기라 무시되어 온 건지
2. 이 이야기가 초창기라서 그런 건지
3. 주류 의견 중 하나였던 건데 나만 몰랐던 건지
확인해야 한다.

금의 가격에 영향을 미치는 요소

  • 달러 인덱스
 

미국 달러 지수 - Investing.com

일부 외국 통화들에대한 미국 달러의 가치를 측정하는 미 달러 지수 (USDX)

kr.investing.com

금이 달러로 표기되기 때문에, 달러 가치 하락 시 달러로 표기된 금 가격이 상승한다.

  • 실질 채권 수익률 = 명목 채권 수익률 - 인플레이션
 

미국 10년물 국채 금리 - Investing.com

미국 국채 금리에 대한 현재와 과거 데이터 등 상세한 정보를 확인하세요.

kr.investing.com

 

 

United States Inflation Rate | 2021 Data | 2022 Forecast | 1914-2020 Historical

US CPI figures likely showed inflationary pressures on the economy remain elevated in September as supply-chain bottlenecks have not improved and energy prices soared, raising further concerns that high inflation will last longer than expected. Consumer pr

tradingeconomics.com

인플레가 커질수록 금값이 상승하므로 실질 채권 수익률과 음의 상관관계
추가 부양책 > 재정적자로 인한 국채 공급 > 국채 가격 하락> 채권 수익률 상승 > 금 폭락

  • 시장 참여자들의 센티먼트

공포지수 선물 시장 포지셔닝, 뉴스 / 미디어 감성지수를 머신러닝으로 파악

 

여기까지가 가장 중요한 요소들이다.

 

  • 연준의 대차대조표 / m2 통화량

     08년도 이전에는 금융기관들의 초과준비금이 없어 금융위기에 대비할 수 없었고,
     양적완화가 이루어져도 이 돈이 금융기관으로 흘러갔다.
      -> 금융위기 터지며 금이 급등하다, 금융위기 이후 급락

      이번 코로나 사태는 금융기관은 건전한 상태에서 발생해 유동성 장세가 지속되고 있다.
      -> 코로나 이후 급락할 확률은 낮을 듯하다.

 

 

  • 주식 시장 / 변동성 지수
    금을 안전자산 취급하므로, 변동성 지수와 비례 핵도 하다

 

  • 귀금속 수요, 산업 수요, 소비 수요 : 투자 수요와 반비례
    금이 비싸질수록 투자 수요는 크지만 소비수요는 줄어듦

        

  • 금 공급
    광산 채굴 / 재활용 / 정부 > 금 채굴은 가격의 변화에 비 탄력적 > 수요 주도 시장



은 가격 결정 요인

 


1. 금의 가격 결정 요인
2. 정책 변화에 금보다 민감
3. 제조업 경기 : 미국 제조업 생산, ISM 제조업 PMI

금 : 장기적인 자산 가치 보존에 적합
은 : 추가적으로 정책에 대한 뷰, 산업 사이클

Gold / Silver Ratio
20 ~ 100 왔다 갔다 하며, 높으면 금 숏, 은 롱 낮으면 금 롱 은 숏 하기도 함

 

골드 실버 비율

GOLDPRICE.ORG - The No. 1 current gold price site for fast loading live gold price charts in ounces, grams and kilos in 30 major currencies plus advice on how to buy gold.

goldprice.org

금속 투자 방법

레버리지 ETF 같은 경우 , 금 선물을 포함하고 롤오버 비용이 꾸준히 발생한다.
또한 선물은 만기가 멀 수록 비쌈 = 지금 받을 걸 더 나중에 받는 거니 보관 비용이 발생
따라서 금 현물을 보유한 etf를 사는 걸 추천

산업금속이 주식과 비교해 가지는 이점
1. 파산, 상장폐지 가능성이 제로
2. 생산 가격이라는 가격의 바닥이 존재
3. 제대로 공부 시 , 경기 사이클과 산업 사이클과 재정정책 사이클에 따라 투자 가능
4. 금융경제 위기에 가치가 보존

 

 

 

반응형

'Quant' 카테고리의 다른 글

[Project] 증권사 리포트에 따라 사면 어떻게 될까??  (35) 2022.03.11
[Quant Strategy] Pair Trading with Long/Short  (17) 2022.02.20
Project : Price and EPS NTM  (0) 2021.12.09
[금융상품] 채권  (18) 2021.10.26
[금융상품] 원유  (20) 2021.10.18

댓글()