-
[금융경제] 파생상품 - 선물(Futures)__Data Analysis/교육 2021. 5. 29. 03:20
! 선물이란?
- 파생상품의 한 종류
- 미래의 일정한 시기에(만기일) 인도인수할 것을 약속하며, 현재 시점의 가격으로 거래하는 것
! 이론가란?
선물의 이론적인 가격
이론가 = 지수가격 * exp[(이자율-배당률)*잔존일수/250(영업일)]
<아래는 코드>
선물 상품의 이론가를 산출할 수 있다.
!! 수업 중 만든 api에서 '오늘'의 값을 하루씩 변경해주며 날짜가 지날때마다 잔존일수가 -1이 되어야하는데, 반영이 되지 않아서 시작일의 잔존일수가 다음날짜 계산시에 그대로 들어갔다.
[해결] 인덱스 값을 '오늘'의 날짜로 즉각 반영되도록 반복문을 돌렸다.
[문제] 휴일이 없는 날을 골라 sample data로 만들었다. 그러나 실제 데이터를 계산할 때, busday_count가 우리나라 공휴일을 제대로 반영하지 않을 것으로 생각된다. 공공데이터 API 또는 하드코딩으로 공휴일을 설정해줘야 할 것으로 생각된다.
In [1]:from pandas_datareader import data as pdr import FinanceDataReader as fdr import yfinance as yf from pykrx import stock from datetime import datetime, timedelta import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarnings(action='ignore') from matplotlib import font_manager, rc font_name = font_manager.FontProperties(fname="c:/Windows/Fonts/malgun.ttf").get_name() rc('font', family=font_name) plt.rcParams['axes.unicode_minus'] = False
- 데이터 불러오기
In [4]:df = pd.read_excel('WTI선물.xlsx', sheet_name='M') expdf = pd.read_excel('WTI선물.xlsx', sheet_name='EXP')
In [5]:df.head()
Out[5]:Date Spot Front Second 0 2017-12-28 59.84 59.84 59.87 1 2017-12-27 59.64 59.64 59.69 2 2017-12-26 59.97 59.97 60.00 3 2017-12-22 58.42 58.47 58.54 4 2017-12-21 58.33 58.36 58.40 이론가 산출¶
이론가 = 지수가격 * EXP( (cd금리) * t)
In [6]:def 이론가(선물지수, 이자율, 배당률, 오늘, 만기일): 선물이론가 = 선물지수 * np.exp((이자율-배당률) * np.busday_count(오늘, 만기일)/252) return 선물이론가
In [10]:# sample data temp = pd.DataFrame({ 'date':pd.date_range('2021-01-04',periods=4), '지수': [100,101,102,103] }) temp['date'] = pd.to_datetime(temp['date'] , format='%Y-%m-%d', errors='raise') temp = temp.set_index('date')
In [11]:이자율 = 0.0225 배당률 = 0.015 for date in temp.index: 오늘 = date.date() 만기일 = pd.to_datetime('2021-01-08').date() 선물지수 = temp.loc[date,'지수'] 선물이론가 = 이론가(선물지수,이자율,배당률,오늘, 만기일) temp.loc[date,'선물이론가']= 선물이론가 temp
Out[11]:지수 선물이론가 date 2021-01-04 100 100.011905 2021-01-05 101 101.009018 2021-01-06 102 102.006072 2021-01-07 103 103.003066 728x90'__Data Analysis > 교육' 카테고리의 다른 글
[금융경제] 유가증권 - 수익률 계산 (0) 2021.06.08 [금융경제] 파생상품 - 옵션(Option) (0) 2021.05.31 [금융경제] 실습2 - 환율 (0) 2021.05.26 [금융경제] 주가데이터 지수화(Indexing), 변동률 구하기, 주가데이터 불러오기 (0) 2021.05.18 [금융경제] 실습1 - 국채권과 금리 이상현상 확인 (0) 2021.05.15