분류 전체보기
-
파이썬: 멀티쓰레딩을 활용한 기업기본정보 목록 만들기(DART API활용)금융퀀트/프로그램기초 2024. 3. 17. 09:52
멀티쓰레딩풀 활용의 필요성 파이썬: 멀티쓰레딩(Threading)과 멀티프로세싱(multiprocessing) 에서 살펴본 것처럼 단일 함수들의 멀티쓰레딩, 멀티프로세싱은 단순히 구현하면 되지만 함수가 복잡하거나, 수많은 작업을 다시 작은 단위로 묶어서 작업하고 싶을 때(총작업량은 1만 개인데, 100개씩 한 번에 처리하고 싶을 때)는 단순한 멀티쓰레딩이나 멀티프로세싱 구조로는 한계가 있다. 이 경우는 아래의 그림 1처럼 쓰레딩 또는 프로세싱 작업묶음의 풀을 만들어서 해결할 수 있다. 작업풀에 작업묶음1, 2, 3을 동시에 넣고 작업을 수행한 뒤 결과를 한 번에 뽑아내는 방식이다. 멀티쓰레딩과 멀티프로세싱 모두 작업풀로 처리가 가능하지만 이하에서는 멀티쓰레딩풀만을 이용하여 API를 요청한 결과를 가지고 ..
-
파이썬: 멀티쓰레딩(Threading)과 멀티프로세싱(multiprocessing)금융퀀트/프로그램기초 2024. 3. 16. 09:13
파이썬의 GIL(Global Interpreter Lock)파이썬 프로그램의 실행 구조는 아래 그림 1과 같다. 여기서 프로세스는 하나의 실행 중인 프로그램을 의미하고, 프로세스 안에서 일어나는 작업의 단위들을 쓰레드라고 한다. 파이썬에서는 기본적으로 하나의 프로세스는 하나의 코어를(Core) 사용하고 multiprocessing 라이브러리를 사용하면 여러 개의 코어를 사용하여 작업이 가능하다.우리같은 비전문가는 보통 보급형 "Intel(R) Core(TM) i5-9400 CPU @ 2.90GHz" CPU를 사용하고 이 CPU에는 6개의 코어가 달려있기 때문에 멀티프로세스 작업을 6개를 초과해서 수행하면 작업 효율이 더 크게 증가하지는 않는다.그리고 파이썬에서는 하나의 프로세스 안에서는 여러 개의 쓰레드..
-
[4장]ISL with R : 로지스틱회귀 LDA QDA 실습 in R(재무지표를 통한 상승주 분류)기초지식/ISL with R(통계학) 2024. 3. 14. 07:59
재무지표를 통한 부도 예측 로지스틱회귀, LDA, QDA라는 툴을 투자에 적용하면 내가 찍은 주식이 오를지 떨어질지 예측하는데 쓸 수 있다. ISL with R 4장에서 살펴본 로지스틱회귀, LDA, QDA 모두 다양한 투입변수를 통해서 어떤 결과로 분류할 수 있는지 예측하는 모델이라는 점에서 다양한 투입변수를 통해서 상승할 종목인지, 하락할 종목인지 판단할 수 있는 것이다. 이때 유용한 투입변수가 될 수 있는 것이 각종 재무지표이다.( 주요 재무비율 통한 기업 분석 참조) 이번 분석에서는 2023년 3분기 매출원가율, 부채비율, 순이익증가율 이라는 세 가지 요소가 2024년 2월 말 주식의 상승 여부와 어떻게 작용하는지를 볼 것이다. 회사별 재무비율은 금융감독원에서 제공하는 전자공시시스템인 다트(htt..
-
주가지수 옵션을 통한 미래 주가 예측하기금융정보/02.파생상품 2024. 2. 26. 07:47
옵션 거래 구조(코스피 200 옵션 중심) 옵션은 기본적으로 콜옵션과 풋옵션으로 나눠져 있는데 콜옵션은 "기초자산을 행사가격에 매수할 수 있는 권리를 사고파는 것"이고, 풋옵션은 "기초자산은 행사가격에 매도할 수 있는 권리를 사고파는 것"이다. 아래 그림 1에서 확인할 수 있는 것처럼 콜옵션 매수자는 가격이 올라갈수록 기초자산을 행사가격이라는 시가보다 낮은 값에 살 수 있으므로 이익을 보게 되고, 풋옵션 매수자는 가격이 내려갈수록 기초자산을 행가가격이라는 시가보다 높은 값에 팔 수 있으므로 이익을 보게 된다. 콜옵션, 풋옵션 매도자는 그 반대이다. 위 그림 1의 구조 하에서 기초자산의 상승/하락 방향, 행사가격, 옵션의 만기에 따라서 옵션 매수/매도자의 수익이 달라지게 된다. 실제 옵션 시장은 같은 기초..
-
수익률의 개념의 근본적인 이해: HPR, TWRR, CAGR, MWRR금융퀀트/자산평가&프로그램매매 2024. 2. 18. 19:12
수익률의 종류 수익률에 대한 다양한 정의가 있지만 결국 수익률은 얼마를 갖고 얼마를 벌었는지를 뜻한다. 중간에 투자금을 추가하는 경우 어떻게 생각할 것인지, 수익률의 단위 기간을 어떻게 잡을 것인지에 따라서 크게 HPR(보유기간수익률), TWRR(시간가중수익률), CAGR(연평균(복리)수익률), MWRR(금액가중수익률)로 나뉜다. 아래의 코스피 200 지수투자 예시를 통해서 각 수익률의 계산 방법을 알아보자. 포트폴리오 가정 KODEX200 ETF, TIGER200 ETF 같은 코스피 200 지수에 연동되는 상품에 2020-01-02 년도부터 가입해서 2023-12-28 연말까지 4년을 보유했다고 가정하자.(코스피 200 지수의 수익률과 추종 ETF 수익률이 100% 연동된다고 가정) A는 초기에 1백만..
-
주요 재무비율 통한 기업 분석금융정보/01.유가증권(주식 채권 등) 2024. 2. 14. 07:08
재무비율 분석이란? 재무비율 분석의 중요성 기업분석을 하게되면 봐야하는 것이 재무정보이다. 각 기업의 재무정보의 절대적인 수치만 보는 것은 큰 의미가 없다. 하지만 각 기업의 재무비율을 이용해서 기업 간 비교를 한다면 재무정보는 큰 의미를 가질 수 있다. 예를 들어 삼성전자와 하이닉스의 전기말 총자산을 단순히 비교하는 것은 큰 의미가 없다. 하지만 전기말 총자산 한 단위당 당기말 총자산(당기말 총자산 / 전기말 총자산)을 비교한다면 총자산의 상대적인 증가율을 기업간 비교가 가능하고, 유의미한 분석이 가능해 진다. 한국은행 기업경영 분석 한국은행은 이 재무비율 분석의 유의미한 보조 자료를 제공해 준다. 한국은행(https://www.bok.or.kr)에서 조사연구-> 간행물 -> 발간주기별 검색 -> 기업..
-
파이썬 : 함수(Function), 클래스(Class), 모듈(Module), 패키지(Package)금융퀀트/프로그램기초 2024. 1. 31. 06:45
함수, 클래스, 모듈, 패키지의 관계 프로그램을 만드는 것은 각각의 기능들을 만들고 그 기능들을 묶어내서 하나의 구조화된 기계를 만들어내는 과정이라고 생각하면 된다. 여기서 가장 최소의 기능을 가지는 것을 "함수(Function)"라고 하고, 그 함수들을 클래스(Class)로 묶어도 되고 묶지 않아도 된다. 클래스로 묶이거나 묶이지 않은 함수들은 모듈(module)이라는 하나의 파일에 담긴다. 그리고 이 모듈들은 패키지(package)라는 하나의 폴더에 담긴다. 함수, 클래스, 모듈, 패키지의 관계를 그림으로 그리면 아래 그림 1과 같다. 위 그림 1과 같이 클래스로 묶인 함수 혹은 그냥 함수들이 모여서 하나의 모듈을 이루고, 모듈이 모여서 하나의 패키지 혹은 라이브러리가 된다. python 에서 다른 ..
-
[키움API]python 샤프지수를 이용한 종목선정 2금융퀀트/(퀀트)증권사API활용(키움) 2024. 1. 28. 16:28
종목별 샤프지수 분석과 UI 변경 샤프지수의 정의 샤프지수는 아래 식으로 나타낼 수 있다.(샤프지수(Sharpe Ratio): 얼마나 덜 쫄리게 많이 벌었나? 참조) 샤프지수 = (투자자산의 수익률 - 기초수익률 ) / 투자자산의 변동성 우리는 [키움API]python 샤프지수를 이용한 종목선정1: 코스피 종목 종가데이터 입수에서 종목별 종가를 입수했기 때문에 종목별 일일 수익률과 계산된 일일 수익률의 표준편차로 수익률의 변동성을 알 수 있다. 그리고 기초 수익률은 해당 종목이 아닌 예금 등 무위험 자산에 투자했을 때 얻을 수 있는 수익률인데 현재 3년 국고채 금리인 3.3% 정도로 잡으면 될 것 같다. 주의해야 할 점은 일일 수익률과 일일 표준편차를 계산했기 때문에 연 금리인 3.3%를 일일 금리로 환..