Python(75)
-
선형계획법 > Reduced Cost(수정비용)
Reduced Cost는 선형계획법에서 최적해에 대한 민감도를 나태는 수치입니다. 현재 최적해에 포함되어 있지 않은 변수가 추가되어 한 단위 변화할때 목적함수 값이 어떻게 변화하는 지를 나타냅니다. 다시 말해, 현재 해가 최적인 상황에서 특정 변수를 해에 포함시키는 것이 이득인지 손해인지를 알려주는 값이라고 생각하시면 됩니다.직관적으로는 현재는 최적해로 포함되어 있지 않은 변수를 포함시켰을 때 지불해야하는 비용이라고 이해하시면 편할 것 같습니다. 따라서 현재 최적해에 이미 포함되어 있는 변수들의 Reduced Cost는 0입니다. Reduced Cost의 해석은 다음과 같습니다.기본해(Basic Solution): 현재 최적해에서 0이 아닌 값을 가지는 변수들비기본해(Non-basic Solution):..
07:30:36 -
Granger Causality(그레인저 인과관계)
Granger Causality는 예측력에 기반한 인과 관계를 추론하는 모델입니다. 즉 진정한 인과관계를 나타내지는 않고 예측력을 기반으로 정의된 개념입니다. 술을 마시면 취한다와 같은 진정한 인과관계가 아니라, 어떤 시기에는 X 종목 주가가 오르면 Y종목 주가가 오르더라 하는것과 같이 완벽하게 증명되지는 않았지만 실증을 통해서 추론해볼 수 있는 인과관계를 살펴본다고 이해하시면 좋을 것 같습니다.즉, X가 Y를 일으킨다라는 직접적으로 검증된 인과관계가 아닌 X가 Y를 예측하는데 도움이 되더라 하는 것을 살펴보는데 활용할 수 있는 모형이 Gragner Causality입니다. 또한 Granger Causality는 일반적으로 시계열 데이터에 많이 적용되며, 시간적 선후관계를 기반한 인과관계 분석이 핵심입니..
2025.04.28 -
VAR(Vector Autoregressive Models)
VAR 모형은 우리가 흔히 알고 있는 단변량 시계열 모형인 AR 모형을 다변량 시계열 모형으로 확장한 것입니다. 우리가 다변량 모형을 활용하는 이유는 변수들 사이의 상호관계를 모델에 반영하기 위함입니다. 따라서 VAR 모형을 이용해서 하나의 변수에 변동이 발생했을 때 다른변수는 어떻게 변화하는지를 확인할 수 있습니다. 이와 같은 특성은 복잡한 시스템의 동적 관계를 이해하는데 활용이 되며 특히 경제학에서 많이 활용되는 모형입니다.AR모형과 같이 VAR에 활용되는 모든 변수들은 Stationary를 만족해야만이 올바른 모형을 적합시킬 수 있습니다. 따라서 VAR모형에 적합하기전 각 변수들은 차분 등과 같은 방법을 활용하여 Stationary를 만족할 수 있도록 데이터를 변형해야 합니다.기본적인 VAR(p)..
2024.06.17 -
TA-Lib을 활용한 기술적 분석 (2/2)
지난 포스팅에 이어서, 이번 포스팅에서도 많이 활용되는 주요지표를 정리하고 talib을 활용하여 어떻게 계산할 수 있는지에 대해서 다루어보도록 하겠습니다. [RSI(Relative Strength Index)]RSI는 지난번에도 다룬적이 있지만, 기술적분석에서 활발히 활용되는 지표로, 현재 주가의 움직임이 어떠한 속도로 움직이고 있는지를 측정하는 지표입니다. 이를 활용해서, 과매수가 이루어지고 있는지 과매도가 이루어지고 있는지 확인할 수 있습니다. 보통 RSI 70~80 이상을 과매수, RSI 20~30 이하를 과매도 상태로 판단하게 됩니다. RSI의 계산 수식은 아래와 같습니다.여기서 RS는 특정기간에 평균 상승폭을 평균 하락폭으로 나눈 값입니다. 수식에서 확인할 수 있듯이 RS는 증가폭이 커지면 ..
2024.05.12 -
TA-Lib을 활용한 기술적 분석 (1/2)
TA-Lib은 기술적 분석을 위해, 주요 지표들을 쉽게 다룰수 있도록 지원해주는 Python 패키지입니다. 이 패키지에 대해서 간략하게 소개한적이 있지만( https://direction-f.tistory.com/110) 구체적인 활용예시들에 대해서는 다루지 않아, 이번 포스팅에서 주요 지표들과 함께 TA-Lib 활용 방법에 대해서 한번 정리해보겠습니다. TA-lib의 설치는 일반적으로 pip install을 활용하여 설치하기가 어렵습니다. 제가 앞서 정리하면서 활용했던 사이트도 사라지고, 조금씩 설치방법이 변경되는 것으로 보입니다. 따라서 Ta-lib 공식 페이지에서 어떻게 설치하는지 확인하시어 진행하는것이 좋을 것 같습니다. https://pypi.org/project/TA-Lib/ [이동평균선(SM..
2024.04.23 -
시계열 데이터 Trend 감지
앞선 포스팅에서 시계열 데이터에서 변하는 지점을 식별하는 알고리즘을 다뤘다면, 이번 포스팅에서는 시계열 데이터의 트렌드를 감지할 수 있는 방법에 대해서 다뤄보겠습니다. 트렌드는 증가/감소/방향없음으로 나타낼 수 있을 것입니다. Kat 패키지에서는 Mann-Kendall test라는 알고리즘을 활용하여, 현재 시계열 데이터가 어떤 트렌드를 가지고 있는지를 감지합니다. Mann-Kendall test는 시계열 기간에 있는 모든 지점에 대해서 이원비교를 수행하고 데이터 지점이 n개라고 한다면 총 비교 수는 n(n-1)/2가 됩니다. 모든 쌍을 대상으로 아래와 같이 indicator function을 활용하여 0인지 1인지 -1인지를 결정합니다. 그 후 indicator function들의 값을 합합니다. 활용..
2024.04.01