목록vba (20)
세진세상
블랙 숄즈 머튼(BSM) 모델 #6(뉴턴 - 랩슨) 옵션의 이론 가격을 계산할 때, 대부분 알고 있거나 알만한 값을 이용한다. 그러나 변동성은 그렇지 않기 때문에, 그 값을 추정할 때 신중해야 한다. 앞선 학습에서 역사적 변동성을 알아보았는데, 실제 적용에는 무리가 있다. 역사적 변동성 http://sejinworld.tistory.com/49 지금부터 역사적 변동성보다 설득력 있는 내재변동성이라는 것을 알아보겠다. 내재변동성은 현재 시장 가격으로부터 변동성을 역으로 뽑아내는 것이다. 시장의 옵션 가격과 나머지의 거의 결정된 값들을 블랙 숄즈 옵션가격 결정식에 대입하여 계산해낸다. 하지만 이것이 말처럼 쉬운 일이 아니다. 왜냐하면 역함수를 구할 수 없기 때문이다. 역함수? 이러지 말자 ㅠ 쉽게 말해, 블..
VBA 날짜 함수 #1 앞으로 날짜를 핸들링하는 방법에서 대해 학습하겠다. 시작에 앞서, 날짜 데이터가 어떤 형식인지 알아두자. VBA에서 날짜 데이터는 8바이트의 부동소수점 값이란다. 됐고, 알아둬야 할 점은 정수부분은 1900년 1월 1일을 시작으로 몇 일이 지났는지를 포함하고, 소수부분은 하루는 1로 봤을 때의 흘러간 시간을 나타낸다. 이런 형태을 이용하여 날짜 간의 연산이 가능하다. 여하튼 지금부터 학습할 날짜 함수는 날짜 입력 기초와 현재 날짜를 핸들링하는 함수다. 날짜 입력 데이터 타입 : Date #월/일/년 시:분:초 AM(PM)# VBA에서 날짜 데이터의 타입은 Date다. 그리고 날짜를 직접 입력할 경우 ##을 리터럴로 사용한다. 마치 문자열을 입력할 때, ""을 사용하는 것과 동일하다..
블랙 숄즈 머튼(BSM) 모델 #5(역사적 변동성) 블랙 숄즈 모형을 활용해 옵션의 가격을 계산할 때, 기초자산의 변동성이 중요시 된다. 앞선 학습의 예시에서는 '변동성은 얼마다'하고 계산했지만, 실제로 변동성은 알아내기는 쉽지 않다. 알아내었다 하더라도 그것은 추정이지 확실한 값이 아니다. 그렇다고 정확하지도 않을거 알아내서 뭐하냐며 나몰라라 할 수 없는 노릇이다. 어떤 일이 발생할지 예측하는 방법에서 가장 쉬운 접근 방법은 과거를 들추는 것이다. 적절할지 모르겠으나 비유하자면, 동일 전과가 많은 사람이 갱생하기도 하지만 재범을 저지를 수 있다는 이야기다. 큰 충격이 없다면, 어느 기초자산의 앞으로의 변화는 과거의 움직임으로부터 예상할 수 있을 것이다. 이 것이 지금부터 학습할 역사적 변동성이다. 역사..
블랙 숄즈 머튼(BSM) 모델 #3(옵션가격 결정식) 어느 서적이든 '노벨상에 빛나는' 이라는 수식어로 소개하는 브랙 숄즈 모델, 대망의 그 옵션 가격 결정 모형을 알아보겠다. 블랙 숄즈 머튼 모형 C : 콜 프리미엄 P : 풋 프리미엄 S : 기초자산 가격 K : 행사가격 r : 무위험 이자율 : 기초자산의 변동성 T : 잔존만기 N(x) : 표준정규분포의 누적밀도 함수, 표준정규분포를 따르는 변수가 x보다 작을 확률 공식은 이러한데, 이 공식에는 여러 가정들이 전제되어 있다. 가정 1. 주가는 연속확률과정을 따른다. 많은 의미를 내포하고 있는 가정인데, 일반적으로 기하 브라운 운동, 이토 과정을 따른다고 한다. 이는 위너 과정을 따른다고 할 수 있는데, 위너 과정은 기초자산의 수익률의 평군과 분산이 ..
VBA 문자열 함수 #4 VBA의 문자열 함수 중에서 '배열'과 관련된 함수를 알아보겠다.특정 문자나 기호로 구분할 수 있는 문자열을 배열에 나눠 넣거나,반대로 배열에 입력되어 있는 각각의 문자를 하나의 문자열로 연결하는 것이다. SPLIT(문자열, 구분자)입력된 문자열을 지정한 구분자로 자르고, 배열의 각 주소에 나눠서 등록한다.구분자을 따로 지정하지 않으면, 공백으로 구분하여 문자열을 자르게 된다. 바로 실습에 들어가겠다.무한도전 토토가3로 다시 뭉쳤던 H.O.T의 노래 "We are the Future"를 문자열로 사용하고,각 단어를 배열에 나눠 입력하자. 1234567891011121314151617181920Sub Split_ex() Dim str As String Dim arr1() As St..
VBA 문자열 함수 #3 VBA의 문자열 함수 중에서 '추출'과 관련된 함수를 알아보겠다. 문자열을 추출한다는 뜻이 광범위하지만, 아주 기본적인 추출을 학습하겠다. 문자열에서 필요한 단어 부분을, 불필요한 공백을 제거한 문자열을 추출하는 함수를 학습하겠다. 문자열 추출. Left(문자열, 추출 문자수) 문자열의 왼쪽부터 지정한 추출 문자수만큼을 추출한다. Right(문자열, 추출 문자수) 문자열의 오른쪽부터 지정한 추출 문자수만큼 추출한다. Mid(문자열, 시작 위치, 추출 문자수) 문자열의 지정한 시작 위치에서 왼쪽부터 지정한 추출 문자수만큼 추출한다. 단, 문자열의 첫 위치는 1번이다. 함수 이름과 용도가 직관적이고, 유의할 점이 크게 없다. 바로 실습에 들어가자. '우주겁쟁이'의 노래 '후유증'의 ..
블랙 숄즈 머튼(BSM) 모델 #2(기하학적 브라운 운동) 주가의 변동은 위너 과정만으로 설명하기 부족하다. 변동성이 주가에 큰 영향을 미치겠지만, 주가에는 드리프트가 존재한다. 카 레이싱의 드리프트요? 드리프트는 주가가 무위험 수익률 만큼 성장한다던가, 물가 상승(인플레이션) 만큼 상승한다던가 하는 등의 효과다. 이 효과는 주가 자체가 가지는 변동성과는 무관하다. 지금부터 학습할 기하학적 브라운 운동은 이 같은 주가의 특성을 반영하여 주가의 움직임을 표현한 것이다. 하지만 이 역시도 현실을 완벽하게 반영할 수 없기 때문에 몇 가지 가정을 전제한다. 1. 주가는 불확실하다. 2. 주가의 변화는 연속적이다. 3. 주가는 로그정규분포를 따른다. 4. 주가수익률은 정규분포를 따른다. 5. 주식의 기대수익률과 ..
VBA 문자열 함수 #2 VBA의 문자열 함수 중에서 '출력 방식'에 관련한 함수를 알아보겠다. 함수마다 여러 옵션을 가지고 있다. 이를 학습하면서 그 일부를 실습해보자. StrConv(문자열, 옵션) 입력된 문자열을 옵션에 따라 변환된 문자열을 리턴한다. 변환 옵션은 코드 타이핑 시 자동 완성 기능이 도와주기 때문에 외울 필요까지는 없다. 다만, 해당 옵션이 무엇을 의미하는지 알아두자. 변환 옵션 vbUpperCase (1) : 문자열을 모두 대문자로 변환 vbLowerCase (2) : 문자열을 모두 소문자로 변환 vbProperCase (3) : 문자열의 각 단어 첫글자를 대문자로 변환 vbWide (4) : 1byte 문자를 2byte로 변환 vbNarrow (8) : 2byte 문자를 1byte..
VBA 문자열 함수 #1 VBA의 문자열 함수 중에서 '문자열 비교'와 관련한 함수를 알아보겠다. 함수 코드와 용도가 직관적이어서 쉽게 익힐 수 있다. StrComp(문자열1, 문자열2, 비교 방식) 문자열1과 문자열2를 비교하는 함수이다. 쉽게 말해 같은지 다른지 판단한다. 문자열1이 문자열2보다 클 경우 1, 같으면 0, 작으면 -1을 출력한다. 문자열이 크고 작다고? 이전에도 언급한 적이 있지만, 문자나 기호에는 숫자로 된 코드가 있어서 그 값을 비교한다는 것이다. 비교방식은 세 가지가 있지만, 그 중에 두 가지는 잘 알아두자. vbBinaryCompare (0) : 이진 비교, 앞서 이야기한 숫자 코드를 비교한다. vbTextCompare (1) : 텍스트 비교, 대소문자를 구분하지 않는 텍스트 ..
VBA 반복문#2 반복 횟수를 지정하여 일정 코드를 반복 수행하는 반복문이 아니라, 특정 조건이 참, 거짓 여부에 따라 일정 코드 반복 수행하는 반복문을 알아보겠다. 조건은 일반적으로 연산자가 들어간 형태를 갖는데, 해당 조건이 참인지 거짓인지를 판단하여 반복을 수행한다. 연산자 http://sejinworld.tistory.com/13 조건문을 이용한 반복문은 Do ~ Loop문이다. Do ~ Loop문은 크게 2가지, 구조에 따라 4가지로 구분한다. Do While Loop Do Until Loop Do Loop While Do Loop Until 이 정도만 알면 충분해 보인다. 하나씩 알아보면서, 실습도 함께 하겠다. Do While Loop Do While 조건문 반복코드 Loop 의 구조를 갖는..