사건 A와 B가 있을 때, 서로 영향을 주지 않으면 독립사건이라 한다.

이 경우 $ P(A \cap B) = P(A)P(B)$ 이다.


주의할 점은 좀 헷갈릴수도 있다는 점이다.


다음 예를 보자.


사건A를 주사위 하나를 던져서 짝수가 나오는 경우라 하고,

사건B를 주사위 하나를 던져서 4의 배수가 나오는 경우라 하자.


사건 A와 사건 B는 서로 독립일까?

일견 각각의 주사위를 던지는 이벤트는 독립시행이므로 독립사건으로 보인다. 


하지만 $P(A \cap B)$를 계산해보면, 

$P(A) = 1/2,  P(B) = 1/6$ 이지만 $P(A \cap B)$는 둘을 곱한 1/12이 아님을 알 수 있다.

왜냐하면 4의 배수인 경우는 무조건 짝수이기도 하기 때문에

짝수이면서 4의 배수가 될 확률은 그냥 4의 배수가 될 확률인 1/6이 되기 때문이다.

결론적으로 A와 B는 독립이 아니고 종속사건이 되겠다.


독립시행과 독립사건의 차이에 대해서는 여기를 참조하면 좋다(내용은 긴데 읽어볼만 하다)


독립시행인 경우는 두 번 던져서 앞에는 짝수가 나오고 뒤에는 4의 배수가 나온다는 개념으로 $P(A \cap B)$가 아닌 $P(A \times B)$로 표시하고, 그냥 곱하면된다.

P(A)P(B) = 1/12. 즉 독립시행시 확률을 묻는 문제였으면 답이 1/12가 맞다.

반응형

'수학' 카테고리의 다른 글

likelihood(가능도 = 우도)  (0) 2018.10.02
MLE, 최대우도추정(Maximum Likelihood Estimation)  (0) 2018.09.27
베이즈 정리(Bayes' theorem)  (0) 2018.09.27
조건부 확률  (0) 2018.09.27
조합  (0) 2017.11.08

두 사건 A, B에 대해서 사건 B가 일어난 조건 하에서 사건 A가 일어날 확률은 다음과 같다.

$P(A|B) = {P(A \cap B) \over P(B)}$


벤다이어그램으로 표현하면 다음과 같다.

(근데 확률을 벤다이어그램으로 표현하는건 사실 굉장히 위험한 발상이다.

제대로 하려면 확률공간 안의 사건들을 정의하고 모든 사건들을 벤다이어그램에 넣고 카운팅하는 방식이 되어야 한다.)



예를 들어보자면

"한 개의 주사위를 던져서 홀수의 눈이 나왔을 때, 그 눈이 3의 배수일 확률을 구하라"


A사건을 홀수눈이 나오는 사건, B사건을 3의 배수가 나오는 사건으로 정의하면

P(A) = 1/2, P(B) = 1/3 이다.


A와 B는 독립사건이므로

$P(A \cap B) = P(A)P(B) = 1/2 \times 1/3 = 1/6$ 이고


조건부 확률을 맨 위 식을 따라서 구해보면 $P(B|A) = 1/6 \div 1/2 = 1/3$이 된다.


근데 사실 위에서 A와 B는 결산결과(?) 독립사건인거지, 주사위에 대한 모든 사건 A와 B가 독립이지는 않다 ㅋㅋ

독립이지 않은 예에 대해서는 여기 참조





반응형

'수학' 카테고리의 다른 글

likelihood(가능도 = 우도)  (0) 2018.10.02
MLE, 최대우도추정(Maximum Likelihood Estimation)  (0) 2018.09.27
베이즈 정리(Bayes' theorem)  (0) 2018.09.27
독립사건, 독립시행  (0) 2018.09.27
조합  (0) 2017.11.08

강화학습에서는 다음 유명한 문제가 있다.


Challenge1: credit assignment problem

which of the preceding actions was responsible for getting the reward


세 번의 action 선택 후 reward가 발생했으면 어느 액션이 더 많이 기여했을까?

또는 어느 action이 어느만큼 기여했을까?


사례1

벽돌깨기에서 reward는 벽돌히트직후 발생하는데, 막대기를 팅겨내기 위한 action은 한 참 전이다.

(벽돌히트 시점에서의 action은 시점으로는 reward와 가깝지만 credit으론 상관이 덜하다)


사례2

공부하고, 밥먹고, 누워서 잤는데 일어나 보니 엄마한테 칭찬받았다. 

누워서 잔것 때문에 칭찬받은 것일까?

교육 중심 엄마라면 공부한것 때문에, 건강 중심 엄마라면 밥먹은게 칭찬의 주 요인일 수 있다.

칭찬방식이 일관된다면, tiral and error를 통해 주 원인을 파악하고 행동할 수 있다.


Q-Learning propagates rewards back in time,

until it reaches the crucial decision point which was the actual cause for the obtained reward



반응형

'AI, ML > ML' 카테고리의 다른 글

Standardization vs normalization  (0) 2019.01.04
Gym  (0) 2018.11.07
크로스엔트로피 손실함수  (0) 2018.10.02
exploit - explore dilemma  (0) 2018.09.27
딥러닝 자체구현으로 XOR문제 풀어보기  (0) 2017.12.14

강화학습의 경우 다음의 유명한 딜레마가 있다.


Challenge2: explore-exploit dilemma

past experiences (exploitation) vs new choices (exploration)

이용 vs 탐색


사례1

익숙한 길로만 다니면 지각은 안하겠지만, 새로운 지름길을 발견할 수는 없다.

(하던대로만 하면 발전이 없다.)

그렇다고 너무 새로운 길로만 다니면, 지각하기 쉽다.

처음에는 탐색을 위해 새로운길로 다니다가, 시간이 갈수록 익숙한 길로 다닌다면?


사례2

늘 먹던 음식만 먹으면 실패할일은 없겠지만, 새로운 맛집을 발견할 수 없다.

그렇다고 매일 새로운 음식만 먹으면 취향에 안맞는 음식을 자주 먹어야 한다.

주중에는 가던 음식점, 주말에는 새로운 음식점을 가보는건 어떨까?


Q-Learning ε-greedy exploration
with probability ε choose a random action,
otherwise go with the “greedy” action with the highest Q-value.
In their system DeepMind actually decreases ε over time from 1 to 0.1



반응형

'AI, ML > ML' 카테고리의 다른 글

Standardization vs normalization  (0) 2019.01.04
Gym  (0) 2018.11.07
크로스엔트로피 손실함수  (0) 2018.10.02
credit assignment problem  (0) 2018.09.27
딥러닝 자체구현으로 XOR문제 풀어보기  (0) 2017.12.14

Anaconda install

Jupyter를 사용하기위해 anacoda install을 진행했다. (linux, ubuntu 환경)

인스톨은 여기를 참조했다.

인스톨후 conda를 입력해서 인식되면 제대로 설치된 것


맥환경에서 install 하는건 여기에서 설치프로그램 클릭해서 설치했다.

Jupyter 설정

Jupyter 설치는 conda설치시에 기본적으로 되고, 설정하는 방법은 여기 참조

Jupyter notebook에서 tensorflow를 사용하려면, linux 터미널에서 conda install tensorflow 하면 설치된다.


ipdb관련

Jupyter notebook에서 라인디버깅을 하기위해서 ipdb를 추가 인스톨해야했는데 conda install ipdb로는 안됐고

conda install -c conda-forge ipdb로 하니까 깔렸다.

디버깅 방법은 아래와 같다.



위에거 빠져나올때는 exit() 쳐줘야 한다.


gym관련

$ conda install gym으로는 설치가 안됐고

여기 참조해서 $conda install -c akode gym하니까 설치가 됐다.

반응형

'Programming > Python' 카테고리의 다른 글

python array (indexing and slicing)  (0) 2019.02.28
pudb  (0) 2018.11.15
python numpy  (0) 2018.02.28
python virtualenv 가상환경  (0) 2017.11.16
python에서 doxygen 사용해보기  (0) 2017.11.14

유용링크들

101가지 문제풀기 연습



random 관련


0이상 20미만의 int 10개 배열 만들기

> a = np.random.randint(20, size=10)

array([17, 12,  4, 18, 11, 15,  5, 19, 19, 18])



5행3열의 array를 만들고 그 값들을 5~10 사이의 랜덤한 숫자로 채우고 싶을때

np.random.uniform(5, 10, size=(5,3))

#> [[ 8.50061025  9.10531502  6.85867783]

#>  [ 9.76262069  9.87717411  7.13466701]

#>  [ 7.48966403  8.33409158  6.16808631]

#>  [ 7.75010551  9.94535696  5.27373226]

#>  [ 8.0850361   5.56165518  7.31244004]]


위를 소수점 3째자리 까지만 나오도록 하고 싶으면

> np.set_printoptions(precision=3) 하면됨(글로벌 적용이라 그 이후에 출력하는데는 다 공통적으로 적용됨)


e-04와 같은 scientific notation을 제거하고 싶으면?

> np.set_printoptions(suppress=True) 하면 된다.



array관련

> np.arange(10) 하면 array([0,1,2,3,4,5,6,7,8,9]) 가 만들어 진다.



> arr = np.arange(10) 한다음


> arr[arr%2 == 1] 하면 array([1,3,5,7,9])가 리턴된다. (조건문을 인덱스 부분에 넣을 수 있다는 것. 그냥 python list로는 안되는 부분)


> arr[arr%2 == 1] = -1 하면 arrary([0,-1,2,-1,4,-1,6,-1,8,-1]) 이 만들어진다. 조건문으로 인덱스 조회가 되는것 뿐 아니라 assign과 연결시킬수도 있다.


> arr *= -1 하면 array([0,-1,-2,-3,-4,-5,-6,-7,-8,-9])가 만들어진다. (element에 대한 연산을 저런식으로 할 수 있다는것.. python list로는 다른 의미가 되어버리니 주의할 것)



np.where 사용하기

> a = np.array([1,2,3,2,3,4,3,4,5,6])

> b = np.array([7,2,10,2,7,4,9,4,9,8])


값이 같은 인덱스만 추리고 싶으면?

> np.where(a == b) 하면된다.

> array([1,3,5,7])이 리턴된다.




반응형

'Programming > Python' 카테고리의 다른 글

pudb  (0) 2018.11.15
Anaconda & Jupyter  (0) 2018.03.23
python virtualenv 가상환경  (0) 2017.11.16
python에서 doxygen 사용해보기  (0) 2017.11.14
python import  (0) 2017.11.14

Parity

패리티는 두개가 서로 같은걸 의미한다.


Risk Parity 전략

2009년에 등장한 포트폴리오 전략.

위험을 균등하게 맞춘다는 의미로 risk parity라 명명한듯 하다.


고전적인 포트폴리오는 보통 주식60%, 채권40%등 분산투자 형태로 구현된다.

주식만으로 100% 포트폴리오를 구성하는 경우 단기적인 리스크가 너무크고 수익률이 정체되는 기간이 긴 경우도 있기 때문



그런데 리스크의 관점에서 보면, 위 그림에서와 같이 주식이 전체 리스크의 90%를 짊어지고 가게된다.

그리고 이것이 금융위기와 같은 상황에서는 큰 문제가 된다.




리스크를 50:50으로 맞추어보면 위 그림에서와 같이 주식28%, 채권72%의 비중이 되어야 하는데,

문제는 채권의 비중이 높아짐에 따라 수익이 낮아진다.


이러한 단점을 극복하기위해 채권에 레버리지를 취한 전략을 risk parity라고 한다.


고찰

당연히 이 전략이 만능은 아니고, 

주식강세 장에서는 상대적으로 수익이 감소되는 단점이 있다.

반응형

그냥 수익률만 놓고 비교하면, 위험을 얼마나 감수한 수익률인지 알 수 없기 때문에..

감수한 위험을 고려해 수익률을 평가하는 척도


이미 여러개 나와 있다.


모두가 약속이나 한 듯이 비율(ratio)이라는 단어를 달고 있는데, 기본적으로 '수익 나누기 위험'의 꼴을 따르기 때문이다.


알파, 베타

여기 설명을 읽으면 이공계생 입장에서 쉽게 이해가 된다.

위 그래프에서 알갱이 하나하나가 일별 수익률이라고 보면된다(점의 개수가 300개이면 300일간의 수익률이라고 보면 됨)
y축의 값은 알갱이 하나의 일별수익률
x축의 값은 그때의 BM수익률, (BM = 벤치마크)

이때 y절편이 알파.. BM대비 얼마나 높은 수익을 거두었는지
이때 기울기가 베타.. BM대비 얼마나 민감한지..

무위험수익률로 보정해줄 경우, 젠센의 알파, 베타라고 함


샤프 비율

여기에 정리해 둠

반응형

'재무 금융' 카테고리의 다른 글

CAPM(Capital Asset Pricing Model, 자본자산가격결정모형)  (0) 2019.01.17
Risk Parity 전략  (0) 2018.01.30
z-score, Sharpe's ratio(샤프 비율)  (0) 2018.01.25
선물  (0) 2018.01.21
미국 Ticker Symbol 시스템 정리  (0) 2017.12.12

무위험수익률(risk-free rate of return)

은행예금처럼 아주 안전한 상품의 수익률(이자율)

예를들어 은행 정기예금 금리가 연2.5%라면, 현재 무위험 수익률은 2.5%라고 표현가능

(실제로는 은행정기예금이 아니라 국공채수익률이나 미국의 경우 재무성 증권(Treasury Bill)수익률 사용)


z-score

평균과의 차이를 표준편차로 나누어서, 

평균에서 몇 시그마 떨어져있는지 수치로 나타낸것

예를들어 수능시험이라고 한다면, 내가 평균과 동일하면 0시그마, 우수하다면 3시그마 이런식


Sharpe's ratio(샤프 비율)

William Sharpe교수가 1966년에 개발한 투자 성과 판단용 지수

수익을 변동성으로 나누어 계산한 위험을 고려한 수익을 말한다.

z-score와 계산이 상당히 유사하다.


간단하게는 일별수익률의 평균을 표준편차로 나누어준다.

매일매일의 수익률이 0이라면 샤프 비율은 0이 된다.

매일매일의 수익률이 크다면(변동성이 작다면 더 좋다) 샤프 비율은 커진다.

따라서 값이 클 수록 고수익. z-score와 방식이 유사하다

더 높은 샤프 비율을 나타내는 자산이 동일한 위험에 대해 더 높은 수익률을 제공한다

표준편차로 나눈다는 것은 변동성으로 나눠준다는 의미로 해석할 수 있다.

가변성 대비 보상이라는 개념으로도 볼 수 있다.

normalize가 들어가므로 서로다른 종목에 대한 수익률을 직접비교할 수 있도록 바꿔준다는 개념도 있다.



좀더 세밀하게 계산하려면.. 아래와 같이 벤치마크 대비 수익률을 쓸 수도 있다.

위는 무위험 수익률을 벤치마크로 쓴거고..

경우에 따라서 S&P 500 수익률을 쓸 수도 있다.



샤프 비율의 강점

시계열 정보만 가지고 추가적인 정보없이 직접 계산 가능


샤프 비율의 단점

샤프 비율이 위험은 곧 변동성이고 변동성은 나쁘다는 개념에 의존한다는 것(변동성이 곧 표준편차이고 표준편차로 나누니.. 표준편차가 작을 수록 유리)

급격한 상승을 겪는 종목의 경우 upside volatility 를 갖는데 샤프비율로 해석하면 부정적인것으로 비춰진다.


정규분포를 따른다는 가정이 있는데.. 실제 주식의 수익률 데이터는 정규분포라고 단정지을 수 없다.

이는 볼린져밴드에서도 동일하게 발생하는 문제





반응형

'재무 금융' 카테고리의 다른 글

Risk Parity 전략  (0) 2018.01.30
위험조정수익률(risk-adjusted return)  (0) 2018.01.26
선물  (0) 2018.01.21
미국 Ticker Symbol 시스템 정리  (0) 2017.12.12
펀드 이해하기  (0) 2017.11.24

선도(Forward): 매입자, 매도자 당사자간 거래

선물(Futures): 매입자, 거래소, 매도자간 거래 (제도화)


제로섬 게임

상승과 하락.. 상대방이 있어야 계약이됨.. (모두 상승만 예측한다면 계약성립이 안됨)

선물은 항상 peer가 있고 어떤이의 손해는 곧 어떤이의 이익이다.
사실 사고파는 peer가 있다는 점은 주식과 동일하지만, 주식은 매도한사람이 주가하락한다고 손해보지는 않는다


미래시점의 주가를 현시점에서 거래(내기) 


롤오버

예를들어 9월물 매수계약을 했는데.. 9월에 실제로 지수상승이 있었고.. 12월에도 오를거라 생각되면 12월물로 포지션이동을 할 수 있는데 이를 롤오버라한다.

쉽게말하면 9월물을 매도하고 12월물을 매수하는 과정임 


콘탱고(Contango)

선물가격 > 현물가격..정상시장(3월물 빼고)


백워데이션(Back-wardation)

선물가격 < 현물가격..비정상시장(3월물 빼고)

미래에 대해서 비관적이라는 말이됨.. 


HTS 빠른 창은 다음과 같다.

주식은 매수 후 매도이지만, 선물은 매도후 매수로 청산이 가능하다.


반응형

'재무 금융' 카테고리의 다른 글

위험조정수익률(risk-adjusted return)  (0) 2018.01.26
z-score, Sharpe's ratio(샤프 비율)  (0) 2018.01.25
미국 Ticker Symbol 시스템 정리  (0) 2017.12.12
펀드 이해하기  (0) 2017.11.24
수익률  (0) 2017.11.21

+ Recent posts