주식은 골아파덕 주식은 골아파덕
블랙-숄즈 모형 유도 (3): Solution, based on Heat Equation

블랙-숄즈 모형 유도 (3): Solution, based on Heat Equation

이전 블랙-숄즈 모형 유도 포스팅을 참고해주시면 좋습니다 1편) 블랙-숄즈 방정식 PDE 도출 https://blog.naver.com/slayerzeroa/223487248091 2편) Heat Equation 변환 https://blog.naver.com/slayerzeroa/223590185162 우리는 이전에 블랙-숄즈 PDE를 Heat Equation으로 정리했다 이렇게 정리된 Heat Equation의 솔루션을 구해보자 STEP 0. 경계조건 (Terminal Condition) 설정 Heat Equation의 솔루션을 구하기 위해서 경계조건이 필요하다 경계조건이 필요한 이유는 옵션에 행사가격이 존재하기 때문이다 옵션이 가치를 지니려면 만기에 행사가격을 넘겨야 하는데 그렇지 못하면 해당 옵션의 만기 가치는 0이 된다 열확산 방정식은 아래와 같이 Closed된 공간에서 경계조건을 설정해주게 된다 직관적으로 옵션 가격과 열 확산 방정식을 이해해보자 블랙-숄즈 PDE을 열확산
[WorldQuant 초보자를 위한] Description Embedding을 이용한 Searching Space 축소하기

[WorldQuant 초보자를 위한] Description Embedding을 이용한 Searching Space 축소하기

안녕하세요, 주식은 골아파덕입니다. WorldQuant Brain 플랫폼 알파 리서치를 할 때 생기는 모든 고민은 사실 하나로 수렴합니다. [어떻게 해야 효율적으로 알파를 찾을 수 있을까?] 효율적으로 알파를 찾기 위해서 좋은 Alpha Expression을 찾는 것도 중요하지만, 적은 효용의 Datafield를 제외하거나 중복되는 Exposure을 갖는 Datafield들을 축소시키는 것이 필요합니다. 이번 포스팅에서는 [Description Embedding을 이용한 Searching Space 축소하기]라는 주제로 글을 작성해봅니다. 먼저 무시무시하게 생긴 영어 단어부터 간략하게 정리해보겠습니다. Description Embedding -> 각 데이터필드가 가지고 있는 자연어 요약(Description)을 벡터화하는 과정 Searching Space -> 우리가 만드는 알파 표현식들의 집합(Alpha Expression Pool) 그렇다면 왜 자연어를 벡터화, 임베딩(Embed
블랙-숄즈 모형 유도 (2): Heat Equation

블랙-숄즈 모형 유도 (2): Heat Equation

이전 블랙-숄즈 모형 유도 포스팅을 참고해주시면 좋습니다 https://blog.naver.com/slayerzeroa/223487248091 블랙-숄즈 모형 유도 (1): 블랙-숄즈 방정식 PDE 도출 금융공학하면 블랙숄즈, 블랙숄즈하면 금융공학 금융공학의 꽃이라고 할 수 있는 블랙-숄즈 모델을 유도해... blog.naver.com 우리는 이전 포스팅에서 아래와 같은 블랙-숄즈 PDE를 도출했다 하지만 편미분방정식을 맞닥뜨렸을 때, 좌절 그 자체.. 도저히 어떻게 풀어야 할지 감이 잡히질 않는다 그런데 위 편미분방정식은 이미 물리학에서는 솔루션이 나와있는 문제다 블랙-숄즈 PDE의 변수를 살짝 변환하면 Heat Equation(열 방정식)으로 만들 수 있다 그 과정은 다음과 같다 STEP 0. 변수 변환 (Change Variables) 변수 변환이 되면서 자연스럽게 미분 연산자도 변환된다 STEP 1. 변수 대입 (Substitution) 위에서 했던 변수와 연산자 변환을 블랙
[논문리뷰] Fractional Trading

[논문리뷰] Fractional Trading

논문리뷰 Fractional Trading https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3949697 0. 논문핵심 Fractional Trading이란 소수점거래를 의미한다 미국 시장에서는 2019년부터 2020년까지 차례로 Small Brokers, Robinhood, Fidelity, Charles Schwab 등의 주식 브로커들이 Fractional Trading 서비스를 개시하기 시작했다 데이터는 2019년 1월부터 2020년 12월까지의 2385개 주식 데이터를 이용했다 (main 분석만, sub 분석마다 기간 범위가 달라짐) 기간 범위는 [Post-IB-FID, Post-FID] 로 크게 나눠지고 의미는 [Small Brokers와 Fidelity의 서비스 출시 사이 기간, Fidelity의 서비스 출시 이후 기간]이다 해당 논문에서는 Fractional Trading 행동을 관찰하기 위해 One-Share Trades(단
강화학습 용어 정리 및 모음; Reinforcement Learning Notation

강화학습 용어 정리 및 모음; Reinforcement Learning Notation

강화학습 공부하면서 Notation 매번 까먹어서 Notation이 정리된 자료 공유 목적 Reference Sutton&Barto. Reinforcement Learning 2nd Edition. 2018 Marc G. Bellemare,Will Dabney&Mark Rowland. Distributional Reinforcement Learning. 2023
옵션 계약 수가 상장(유동)주식 수 이상이 될 수 있을까?

옵션 계약 수가 상장(유동)주식 수 이상이 될 수 있을까?

1. 옵션 계약은 특정 기초자산을 계약당사자가 미리 정한 가격에 특정 시점에 사거나 팔 수 있는 권리이다 이때 옵션 매수자는 옵션 계약 행사여부를 정할 수 있다 2. 옵션 계약은 리스크 관리의 목적에서 출발했지만, 투기자(Speculation)들은 높은 레버리지를 이용해 투기적 거래를 진행한다 또한 옵션 계약을 이용해 시장 교란 행위를 할 수도 있다 이런 시장 교란 행위는 일반적으로 특정 포지션의 파생상품 거래를 진행한 뒤, 해당 포지션에서 이익을 얻을 수 있도록 기초자산의 가격을 크게 변동시켜 이익을 취한다 3. 다음과 같은 상황에서 옵션 행사 과정은 어떻게 될까? (만기일 고려 X, 아메리칸 옵션 가정) 주식의 현재 시장가: 4000원 주식에 대한 콜옵션 행사가격: 3000원 [1] 콜옵션 매수자 A는 옵션 행사 요청을 한다 [2] 콜옵션 매도자 B는 A가 옵션 행사를 요청했을때, 배정받는다 [3] 콜옵션 매도자 B는 시장에서 주식을 4000원에 매수해 A에게 3000원에 매도한
[Rust] 업비트 웹소켓 통신으로 실시간 데이터 받아오기

[Rust] 업비트 웹소켓 통신으로 실시간 데이터 받아오기

안녕하세요, 주식은 골아파덕입니다 오늘 포스팅 주제는 [Rust를 이용한 업비트 웹소켓(Websocket) 통신으로 실시간 데이터 받아오기]입니다 Python이나 Node.js의 경우에는 예제가 많지만 Rust는 많지 않은 것 같아 블로그 포스팅을 작성합니다 하지만 Rust 쓰는 사람이 너무 적어서 아무도 관심을 주지 않을 것 같은 느낌이 듭니다 0. Introduction 포스팅에 앞서 Rust 언어의 특징과 네트워크 통신에 대해 간략하게 설명하려고 한다 0-1) Rust 언어의 특징 일반적으로 Rust 언어는 치명적 오류 없는 C++을 지향한다 이를 위해서 Rust는 Ownership이라는 개념이 존재한다 Garbage Collector와 Pointer의 중간쯤 되는 것이라 생각하면 된다 (불변하는 메모리를 가진 변수는 GC로, 가변하는 메모리를 가진 변수는 에러 처리) 엄격한 변수 lifetime을 통해 Memory Safety를 달성한다 Rust로 컴파일이 되는 모든 코드는
[월드퀀트 초보자를 위한] Vector Neutralize; vector_neut

[월드퀀트 초보자를 위한] Vector Neutralize; vector_neut

안녕하세요, 주식은 골아파덕입니다 월드퀀트 컨설턴트 활동을 하면서 정리했던 내용을 블로그에도 공유해드리려 합니다 처음 월드퀀트 브레인 플랫폼을 이용하면 알파를 만드는 것이 쉬운 일이 아닙니다 특히, 도메인이 수학에 강점이 있지 않다면 몇몇 오퍼레이터가 어떻게, 왜 쓰이는지 이해하기 어렵습니다 그래서 방학동안 간략하고 자세하게 오퍼레이터 및 알파 리서치에 필요한 지식을 공유드리려 합니다 오늘의 주제는 Vector Neutralize입니다 1. Vector? Vector Neutralize를 알기 전에 벡터에 대해 알아봅시다 그 전에 벡터에 대한 엄밀한 정의는 잠시 생각하지 않기로 합시다 벡터란 크기와 방향을 가지는 기하학적 객체입니다 왼쪽은 양 끝점을 가지는 선분이고, 오른쪽은 크기(길이)와 방향(화살표)을 갖는 벡터를 시각적으로 표현한 것입니다 선분은 양 끝점의 위치가 중요한 반면에, 벡터는 위치가 아닌 방향과 크기만이 중요합니다 따라서 아래 두 벡터는 같은 벡터라고 할 수 있습니다
[홍보] 2024년 하반기 - 금융데이터분석학회 FIND-A 학회원 모집

[홍보] 2024년 하반기 - 금융데이터분석학회 FIND-A 학회원 모집

금융데이터분석학회 FIND-A에서 2024년 하반기 학회원을 모집합니다! FIND-A(파인드 알파)는 2020년 설립되어 약 50명의 학부, 석사, 박사과정생과 현직자가 활동 중인 금융데이터분석학회입니다. FIND-A는 Financial Data Analysis의 약자로, 금융 산업 전반의 디지털 전환에 발 맞추어 디지털 금융 역량을 지닌 인재를 양성하는 것을 목표로 하고 있습니다. 나아가, 한국정보처리학회와 MUFFIN@AAAI23 등 국내외 학회에 저희 연구 결과물을 출판하며 연구 일선에도 기여하고 있습니다. FIND-A의 신입 학회원은 한 학기 동안 매주 토요일 1시부터 5시(4시간)에 아래의 커리큘럼 중 하나 이상을 필수적으로 이수하게 됩니다. *모집 파트* 1. Financial Data Analysis - 계량경제학(Econometrics)은 경제이론, 경제수학, 통계학을 포괄하는 분야로 경제이론을 실증적으로 검증하는데 초점을 맞추고 있습니다. - Financial Dat
블랙-숄즈 모형 유도 (1): 블랙-숄즈 방정식 PDE 도출

블랙-숄즈 모형 유도 (1): 블랙-숄즈 방정식 PDE 도출

금융공학하면 블랙숄즈, 블랙숄즈하면 금융공학 금융공학의 꽃이라고 할 수 있는 블랙-숄즈 모델을 유도해보자 블랙숄즈 모델을 이해하기 위해선 먼저 몇 가지(많은) 배경지식이 있어야 한다 내가 이해한 모델 유도 과정을 정리하기 위해 포스팅을 작성했고 오류가 있을 수도 있다 STEP 0. Suppose 블랙숄즈 방정식에는 몇가지 가정이 필요하다 무위험자산의 존재 (무위험수익률 제공) 주가가 GBM을 따름 (STEP 1에서 설명) No Arbitrage Condition (일물일가의 법칙, 차익거래 불가) 거래에 제한이 없음 (원하는만큼 구매 가능, 거래비용 없음) 또한 블랙숄즈 PDE 유도할 때 시간 단위는 다음과 같다 STEP 1. Geometric Brownian Motion 브라운 운동은 꽃가루가 불규칙하게 움직이는 것에서 착안해 아인슈타인이 식으로 정립했다. 앙리 푸앵카레의 제자였던 프랑스의 루이 바슐리에(프랑스어: Louis Bachelier)는 1900년에 박사 학위 논문 《투기
개인 포트폴리오 깃허브 블로그 제작 (1)

개인 포트폴리오 깃허브 블로그 제작 (1)

네이버 블로그 자체는 중학생때부터 시작했으니 어느덧 10년 가까이 블로그를 운영했다 (중간에 쉬었던 것을 고려하면 6년 정도지만) 티스토리나 Velog와 같은 블로그 플랫폼으로도 넘어갈까 했지만 결국에는 돌고돌아 손에 익은 네이버 블로그만 꾸준히 쓰게 되더라 그런데 개발자라면 다들 하나씩 자신만의 웹사이트를 가지고 있더라 (주로 깃허브 블로그) 물론 나는 개발자가 아니지만, 유사 개발자로써 이대로 있을 순 없었다 시험도 끝났겠다 작업을 시작한다 (사실 안 끝남) 최종목표는 내가 작업한 작업물들을 통합할 수 있는 웹사이트! 개발환경 프론트엔드: React.js 백엔드: Github Pages DB: Maria DB ※ 추후 시놀로지를 이용한 개인 서버로 관리할 계획 소망 포트폴리오용 개인 웹페이지 https://slayerzeroa.github.io/index Stock Is Psyduck Not only Quantitative Developer, But also Qualitative
[2024 DB금융경제공모전, DB보험금융공모전] DB IFC 가작 수상 후기

[2024 DB금융경제공모전, DB보험금융공모전] DB IFC 가작 수상 후기

2024 DB 금융경제공모전 안녕하세요, 주식은 골아파덕입니다. 지난 2월 제출했던 2024 DB금융경제공모전에서 가작을 수상했습니다. 급하게 준비해서 생각도 못하고 있었는데 운이 좋았던 것 같습니다. 이번 포스팅에서는 저희가 제출한 산출물에 대한 내용과 진행 과정, 진행하면서 겪었던 어려움 등을 작성할 예정입니다. 아, 그리고 이번부터 대회명이 기존 DB금융경제공모전(FEC)에서 DB보험금융공모전(IFC)으로 변경되었습니다. 참여 계기 2020년부터 DB 금융경제공모전에 대해 알고 있었고 2023년에 참여를 했었지만 좋은 결과를 얻진 못했다. 이번이 마지막 기회이기도 했고, 이전부터 생각한 주제가 있어서 공모전에 참여했다. 원래부터 하고 싶었던 주제는 「펫 리츠」였다. 대놓고 은근히 강아지랑 고양이를 좋아하는 나로써는 반려동물 관련 금융 상품을 한번 만들어보고 싶었는데, 펫 보험은 이미 상품화 되어 있고 많이 있으니까.. 좀 색다른 금융상품으로 접근하고 싶었다. (근데 다시 생각해
[고급계산금융] HW3. C++ 몬테카를로 시뮬레이션 프라이싱

[고급계산금융] HW3. C++ 몬테카를로 시뮬레이션 프라이싱

문제 코드 #include #include #include using namespace std; // Homework 3 // Write C++ code that calculates Call option and Put option using Monte Carlo Approach. // Compare it with the formula for Black Scholes equation. // You may use any value for risk-free rate and expiration date. // 함수 선언 vector generate_discrete_path(double rf, double sigma, int tau, double st); vector generate_continuous_path(double rf, double sigma, int tau, double st); double calc
[고급계산금융] HW2. C++ 주가 시뮬레이션 Path 생성

[고급계산금융] HW2. C++ 주가 시뮬레이션 Path 생성

문제 코드 #include #include #include using namespace std; // Homework 2 // Write C++ code that gives the path of the asset given its volatility σ and drift µ. vector generate_discrete_path(double mu, double sigma, int tau, double st); vector generate_continuous_path(double mu, double sigma, int tau, double st); double norm_dist(); int main(){ vector stock_path; double mu, sigma, st; int tau; // 파라미터 입력 cout << "Plese Enter the mu, sigma and tau" <
[고급계산금융] HW1. C++ 정규분포, 균등분포 함수

[고급계산금융] HW1. C++ 정규분포, 균등분포 함수

#include #include // Homework 1 // Write C++ code such that it uses library for uniform distribution // function and generate normal distribution. double norm_dist(double mean, double std); double uni_dist(double lower, double upper); int main(){ double mean, std, lower, upper; std::cout << "Enter mean and std dev for normal distribution: "; std::cin >> mean >> std; std::cout << "Enter lower and upper bounds for uniform distribution: "; std::cin >> lower >> upper; do
Visual Studio Code에서 C++ 환경 만들때 발생 에러, 오류

Visual Studio Code에서 C++ 환경 만들때 발생 에러, 오류

error: in triplet x64-windows: unable to find a valid visual studio instance could not locate a complete visual studio instance 에러 일시 20240422 ~ 20240423 에러 배경 Visual Studio Code에서 C++ 환경 세팅은 미리 했었다 VS Code에서 C++ 환경 세팅 과정 1) 로컬 환경에서 MinGW 컴파일러 설치 2) 환경 변수 편집으로 컴파일러 Path 추가 (CMD에서 인식할 수 있도록) 3) VS Code에서 C++ Extension 설치 쓰다보니까 C++에 어느정도 익숙해져 다양한 라이브러리를 이용해 개발하고 싶은 마음이 생겼다 찾아보니 Python에서 pip과 같은 C++ Dependency 관리 시스템인 vcpkg가 있었다 옳다구나 하고 vcpkg 설치해서 사용하려고 했는데... 글쎄 이젠 프로젝트 관리 시스템인 CMake가 필요하다고 하지 않는가
AI의 생산성은 높다, 그러나 수익성은?

AI의 생산성은 높다, 그러나 수익성은?

1. AI를 사용했을 때의 생산성 향상을 우리 모두 체감할 수 있다. 현재 Chat GPT를 쓰지 않는 사람의 생산성은 쓰는 사람보다 낮을 수밖에 없다. 그 정도로 AI는 최근까지 괄목할만한 성장을 보여주었다. 2. 그런데 생산성과 수익성은 같지 않다. 우리는 생산성과 수익성이 정비례한다고 쉽게 착각한다. 3. 한 예시를 들어보자. - 나는 10명이 사는 마을에 유일한 목수이다. - 마을에 나 홀로 집을 지을 수 있는 기술을 가지고 있고, 집 한 채를 짓는데 100만원이 들고 200만원을 번다. - 최근 싸고 빠르게 집을 지어주는 집 프린터기가 등장했다. - 이 프린터기는 100만원이고 집 짓는데 10만원이 든다. - 나는 100만원을 들여 프린터기를 사고 집을 지어준다. 4. 위 이야기에서 생산성은 확실히 늘어났다고 볼 수 있다. 프린터기가 속도도 빠르다고 가정했을 때, 빠르고 저렴하다. 하지만 벌어들이는 수익이 늘어나는가? 그것은 의문이다. 5. 과거에는 1000만원의 수익을 얻
[백준 C++] 1057번: 토너먼트

[백준 C++] 1057번: 토너먼트

토너먼트 https://www.acmicpc.net/problem/1057 1057번: 토너먼트 문제 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 한다. 이긴 사람은 다음 라운드에 진출하고, 진 사람은 그 라운드에서 떨어진다. 만약 그 라운드의 참가자가 홀수명이라면, 마지막 번호를 가진 참가자는 다음 라운드로 자동 진출한다. 다음 라운드에선 다시 참가자의 번호를 1번부터 매긴다. 이때, 번호를 매기는 순서는 처음 번호의 순서를 유지하면서 1번부터 매긴다. 이 말은 1번과 2번이 스타를... www.acmicpc.net 문제이해 토너먼트 상황을 생각해보면 다음과 같다 참가자가 짝수인 경우, 홀수인 경우 여기서 지민이와 한수가 서로를 만나기 전까지 무조건 이긴다고 했을 때 몇번째 레벨에서 만나게 될까? 문제 풀이 토너먼트에서 다음 레벨로 넘어갈
Heston Model을 Python으로 구현하기

Heston Model을 Python으로 구현하기

1. Heston Model(헤스톤 모델)이란? 간단하게 설명하면 BSM Model에 다음과 같은 내용을 추가한 모델이다 (추후 자세하게 포스팅 예정) 1) 변동성을 상수가 아닌 확률과정으로 가정 2) 변동성과 주가 간의 상관관계 3) 변동성은 Long-Term Mean으로 돌아가려는 성질 2. Heston Model are Wiener processes (i.e., continuous random walks) with correlation ρ. : the initial variance. : the long variance, or long-run average variance of the price; as t tends to infinity, the expected value of νt tends to θ. : the correlation of the two Wiener processes. : the rate at which νt reverts to θ. : the volatilit
[백준 C++] 2581번 : 소수

[백준 C++] 2581번 : 소수

소수 https://www.acmicpc.net/problem/2581 2581번: 소수 2581번 제출 맞힌 사람 숏코딩 재채점 결과 채점 현황 질문 게시판 소수 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 145650 57813 48657 39.423% 문제 자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 이들 소수의 합은 620이고, 최솟값은 61... www.acmicpc.net 문제 파악 M <= N인 M과 N이 주어지면 M <= X <= N인 소수 X를 찾고, 첫째 줄에 X의 총합, 둘째 줄에 X중 최솟값 출력 문제 풀이 1) X값이 소수인지 판별하는 함수 필요 2) X의 누적합 변수 생성 3) X의 최솟
ⓒ 2022 [주식은 골아파덕] All rights reserved.
Supported by Keyzard