본문 바로가기

파이썬11

금융 포트폴리오 최적화 (feat. 파이썬) 포트폴리오 최적화는 목표를 이루기 위해 고려하고 있는 모든 포트폴리오 세트 중에서 최상의 포트폴리오(=자산 분배)를 선택하는 프로세스입니다. 목표는 일반적으로 기대 수익과 같은 요소를 최대화하고 재무 위험과 같은 비용을 최소화합니다. 이 포스팅을 통해서 파이썬을 이용한 효율적 투자선(=efficient frontier) 및 주식 포트폴리오를 최적화하는 방법을 설명해 드릴 예정입니다. 현대 포트폴리오 이론에 의하면 효율적 투자선은 위험-수익 스펙트럼에서 '효율적인' 위치에 있는 투자 포트폴리오입니다. 보통은 효율적 투자선은, 수익의 변동성이 동일할때 해당 포트폴리오보다 높은 기대수익을 주는 포트폴리오가 없는 것을 의미합니다. Sharpe Ratio는 실제로 투자 포트폴리오에서 사용되는 개념이며, 보유한 투.. 2020. 12. 25.
자금 흐름 지표를 이용한 알고리즘 투자 전략 (feat. 파이썬) 이 글은 교육적인 목적으로 작성되었습니다. 투자 조언으로 받아 들여서는 안되며, 투자는 본인의 재량에 따라 하십시오. 이번 글에서는 자금 흐름 지표(Money Flow Index, MFI)라는 거래 전략을 설명드리고 파이썬으로 코딩하는 방법을 알려드리겠습니다. MFI는 거래량 가중 상대적 강도 지수(Relative Strength Index, RSI)라고도 하며, 자산 중에서 과매수 또는 과매도 신호를 식별하기 위해 가격 및 거래량 데이터를 이용해 계산합니다. MFI 값이 80 이상이면 과매수(매도 타이밍)로 간주되고, 20 미만이면 과매도(매수 타이밍)로 간주됩니다. 또한 MFI값이 90 또는 10인 경우를 임계값 이라고 합니다. 매도 신호: MFI > 80 매수 신호: MFI < 20 화폐 흐름 지수.. 2020. 12. 25.
OBV 거래량 지표를 이용한 알고리즘 투자 전략 (feat. 파이썬) 주의: 이 글은 교육적인 목적으로 작성되었습니다. 투자 조언으로 받아 들여서는 안되며, 투자는 본인의 재량에 따라 하십시오. 이번 글에서는 On-Balance Volume이라는 거래량 지표와 파이썬 프로그래밍을 사용한 간단한 거래 전략에 대해 설명해 드리겠습니다. 주식 시장의 모멘텀 방향을 예측하는 것은 매우 어려운 일이긴 하지만 한번 시도해 보겠습니다. 통계와 확률에 대해 잘 이해하고있는 사람도 이번에 소개드릴 내용을 이해하고 프로그래밍하는데 어려움을 겼을 수 있습니다. 알고리즘 거래는 가격, 타이밍, 그리고 거래량과 같은 변수를 이용하여 미리 프로그래밍된 자동화 거래 지침을 사용하여 주문을 실행하는 프로세스입니다. 금융 분야에서 가장 인기 있는 프로그래밍 언어 중 하나인 파이썬과 On-Balance .. 2020. 12. 25.
이동평균선과 RSI를 이용한 알고리즘 투자전략 (feat. 파이썬) 이 글은 교육적인 목적으로 작성되었습니다. 투자 조언으로 받아 들여서는 안되며, 투자는 본인의 재량에 따라 하십시오. 주식 시장의 기술 지표란? 주식 시장의 기술 지표란 주식 가격의 추이 또는 회사의 재무 데이터를 해석하여 미래의 가격 변동을 예측하는데 사용되는 일종의 참고 자료라고 할 수 있습니다. 주식 시장의 기술 지표는 투자자가 보유하고 있는 종목을 매도 할 타이밍인지? 아니면, 새로운 종목을 매수 할 타이밍인지? 등을 결정하는데 참고로 활용할 수 있습니다. 기본적인 기술 지표 단순 이동 평균(Simple Moving Average, SMA) : 단순 이동 평균선은 "이평선"이라고도 불리며, 현재 주가의 트렌드가 계속 될지 또는 하락 추세를 반전하는 계기가 될지 여부를 판단하는데 도움이 될 수있는 .. 2020. 12. 25.
유니코드 변환 파이썬 프로그램 - convert to unicode (python program) 파이썬에서 한글을 다루다 보면, 인코딩에 대한 이슈를 그냥 지나칠 수 없다. 파이썬의 장점은 methods의 입력 데이터 형식을 지정하지 않아도 된다는 것이다. C/C++에 익숙했던 분들은 아주 생소하게 느껴질 수 있는 부분이다. 가령 덧셈 함수를 만든다고 하면, def sum(a,b): return a+b 로 간단하게 할 수 있다. 여기서 a, b는 정수, 실수 모두 가능하게 된다. 하지만, a와 b가 리스트list 또는 사전dict 형태의 데이터라면 어떻게 처리해야 할까? 리스트 형식의 데이터라면, 각 i 번째 element끼리 더해서 결과를 반환하도록 하면되고, 사전 형식의 데이터라면, 같은 key 값을 갖는 데이터끼리 더해서 결과를 반환하도록 하면 될 것이다. 이제 원래 이슈로 돌아가서, 입력 데.. 2013. 12. 16.