분류 전체보기 163

[python] pandas pivot_table 데이터프레임을 다루는 방법

오랜만에 포스팅을 남기네요. 오늘은 간단하게 pandas 중에서 피벗(pivot_table)을 사용할 때, 유용하게 쓸 수 있는 기능을 소개하고 기록해보려고 합니다. 제가 요즘 퀀트투자를 공부하고 있는데요. 주식 관련 데이터를 수집하고 가공하는 일(?)을 많이 하고 있습니다. 그 중에서 해외ETF 데이터를 다루면서 마주친 부분과 해결방법에 대해서 소개해 드리겠습니다. 1. 데이터 소개 개발환경은 주피터노트북이며, 데이터프레임에 대해서 간략하게 소개해드리면 인베스팅닷컴을 통해 해외ETF(SPY, TLT) 데이터를 수집하였으며, 월말(EOM), 연말(EOY), 월초(IOM) 그리고 월별수익(%) 컬럼 등으로 추가하여 가공했습니다. 2. pivot_table 활용 위 데이터프레임에서 index 컬럼을 기준으로..

SW개발/python 2021.11.07

[python] slack bot 메시지 보내는 법

slack은 클라우드 기반 팀 커뮤니케이션과 협업을 위한 툴입니다. 오늘은 slack bot 을 하나 만들고 python을 활용해 간단한 메시지 보내는 법에 대해서 알아보려고 합니다. 1. slack 가입 및 워크스페이스 만들기 우선 회원가입부터 해야겠죠? 구글 계정이 있다면 연동해서 사용할 수 있습니다. 저도 새로운 워크스페이스를 생성해 볼게요. 회사 또는 팀 이름을 입력 -> 진행하는 프로젝트 -> 소통을 위한 대상자 추가하는 과정을 거치게 됩니다. 저는 MySpace 라는 이름으로 워크스페이스를 생성했습니다. 자, 이제 워크스페이스 생성은 마쳤고, 메시지 전송을 위한 단계로 넘어가 보죠. 2. slack api 이번에는 slack api 사이트로 이동합니다. 아래 보이는 화면에서 "Create an..

SW개발/python 2021.10.06

[머신러닝] 선형회귀 알고리즘 학습

선형회귀 분석이란? - 어떤 변수들이 한 변수의 원인이 되는지(인과관계) 분석하는 방법z선형회귀 모델이란? y = wx + b - 입력변수 X 들의 선형결합을 통해 출력변수 Y를 표현한 모델 - X 변수와 Y변수 사이의 관계를 수치로 설명 → 미래 반응변수(Y) 값을 예측!! 선형회귀 모델 분류 '독립변수(X)의 수', '독립변수의 척도', '독립종속 변수의 관계' 등에 따라 여러가지 회귀분석 분류가 생기게 됩니다. 선형모델 선형회귀(최소제곱법, OLS, Ordinary Least Squares) : 예측과 훈련 세트에 있는 타겟 y 사이(잔차) 평균제곱오차(MSE)를 최소화하는 최적의 w와 b값 찾기 비용함수 : 손실함수, 모델의 오차를 정의하고 측정하기 위해 사용 잔차(residual, 훈련 오차) ..

[python] PyQt5 그래프 그리기(feat. plotly, matplotlib)

PyQt5 환경에서 plotly 그래프 그리기 PyQt5는 python 으로 빠르게 GUI 프로그램을 만들 수 있게 도와줍니다. 특히 QtDesigner 를 사용해 직관적으로 콤보박스, 텍스트박스 등을 배치시킬 수도 있고, 코드로 직접 화면 구성을 할 수도 있죠. 최근에는 버전업이 되어 PyQt6가 나왔다고 하네요. 개발언어가 python이고 GUI 환경으로 프로토타입을 빠르게 만들어보고 싶다면 추천드립니다. 오늘은 PyQt5 환경에서 plotly 라이브러리로 그래프를 그리는 방법을 알아 볼게요. 1. 라이브러리 설치 PyQt5와 plotly 라이브러리는 당연히 설치되어 있어야 하고, 추가적으로 Plotly 그래프를 그리기 위해서 PyQtWebEngine 을 설치해줍니다. pip install PyQtW..

SW개발/python 2021.09.10

[백테스트] 변동성 돌파 전략 백테스트(2) by 파이썬

[백테스트] 변동성 돌파 전략 백테스트(2) by 파이썬 지난 글에서는 강(갓 또는 킹)환국님 영상에 나온 백테스트 를 찍!쩌업! 파이썬으로 구현해보는 첫번째 시간이었는데요. 백테스트를 위한 데이터를 수집하고 데이터를 가공(영상에 나온 조건과 동일하게, 기간 및 OHLCV 맞춤) 해주었죠. 이번 글에서는 직!쩌업 파이썬을 통한 로직을 만들어 가 보겠습니다. 들어가기에 앞서, 엑셀을 키고 끌 수 있는 수준의 사용자라면 엑셀로 하는것이 정신 건강에 이로우실 꺼에요. 다만, 파이썬을 사랑하고 코딩을 사랑하는 분들이라면 함께 들어가 보시죠. 고고! 1. 백테스트 계산 조건 - 1일레인지 : 전날High - 전날Low - 1일레인지(%) : 1일레인지 / 오늘시가 - 매수여부 : 오늘고가 > 오늘시가 + k_fa..

크립토 2021.09.07

[머신러닝] k-NN(k-Nearest Neighbors) 알고리즘 학습 - 1)손글씨 분류

[머신러닝] k-NN(k-Nearest Neighbors) 알고리즘 학습 - 1) 손글씨 분류 서론 k-NN 알고리즘(지도학습)은 가장 간단한 분류(Classification) 머신러닝 알고리즘입니다. 새로운 데이터(input) 예측 할때, train 데이터셋에서 가장 가까운 데이터 포인트(최근접 이웃)을 찾는 방식이죠. 본론 k-NN 알고리즘은 간단한 알고리즘이지만 이미지(영상)에서 글자인식, 영화,음악 등 상품추천에 대한 선호도 예측, 유전자 데이터의 패턴 인식등 여러 분야에 활동될 수 있습니다. 이번 글에서는 k-NN 알고리즘으로 손글씨 이미지 분류하는 예제를 다뤄보려고 합니다. 1. 데이터셋 설명 손글씨 이미지 분류를 위해 MNIST 데이셋을 사용하려고 합니다. 데이터 범위는 0 ~ 9까지이며, ..

[Polkadot] 폴카닷 스테이킹 하는 방법 (feat.수수료는 처음이지?)

폴카닷 스테이킹 하는 방법 (1) 가상자산 생태계로 조금더 deep 하게 들어가 보려고 합니다. 그렇다고 바이낸스 선물을 하겠다는건 아니고요. 폴카닷 스테이킹에 대해서 정리해보고자 합니다. 아래 이어질 내용은 폴카닷 지갑을 이미 polkadot-js 를 통해서 생성했다는 가정하에 진행하겠습니다. https://mskim8717.tistory.com/115 [Polkadot] Polkadot wallet 만들기 Polkadot wallet 만들기 Polkadot 에 대한 설명은 아래 위키백과 사전에서 발췌한 내용으로 생략합니다. 파라체인 기반이며, PoS(Proof of Stake, 지분증명합의)를 사용한다고 하네요. 만든이는 Gavin wood(이더 mskim8717.tistory.com 1. 폴카닷 출..

크립토 2021.09.03

[기술적분석] 보조지표 이해 - RSI

서론 오늘 유투브 알고리즘이 '시골의사'로 널리 알려진 박경철님 영상 하나를 띄워주네요. 박경철님 시골의사 책 시리즈도 집필하시고, 한창 라디오 DJ도 하셨는데, 요즘 무얼하시는지 궁금하네요. https://www.youtube.com/watch?v=lI33tyAV4Kw 주식강의 영상인데, 기술적 분석에 대해서 설명해주시는 내용입니다. 찬찬히 따라가보며 공부해 보죠! 첫번째로 보조지표 RSI 입니다. 본론 RSI (-> 박경철님은 "내재형 지표"라고 표현) - 상승 또는 하락 방향성에 대한 (내재)에너지를 나타냅니다. RSI = { 상승폭 / (상승폭 + 하락폭) } * 100 % RSI 지표의 한계점 - 주가가 장기간 횡보함에도 불구하고 RSI 지표는 상승하는 경우가 발생하게 됩니다. - 주가는 8월 ..

크립토 2021.08.23

[백테스트] 파이썬 변동성 돌파 전략

퀀트투자 관련 책을 읽으며, 처음으로 백테스트가 무엇인지 알게 되었습니다. 백테스트? 과거 데이터를 기반으로 여러 조건을 만들어 테스트 해 보는것이죠. 백테스트란 어떤 투자 전략이 과거에 어느 정도의 수익이 나는지 또는 얼마나 위험한지를 알아보기 위해 역사적인 데이터를 이용하여 전략을 모의실험하는 과정을 말한다. - 실전 퀀트투자 중에서, 홍용찬 저 - 근데 여기서 중요한게 바로! 직접 백테스트를 해봤느냐? 인거 같습니다. 최근에 열심히 보고 있는 퀀트투자 유투버 강(갓 또는 킹)환국님 영상에 나온 백테스트를 직쩝! 파이썬을 통해서 구현해 보려고 합니다. 강환국님은 영상에서 백테스트를 엑셀로 하셨는데요. 엑셀 쓰면 간단하지 왜 굳이 파이썬으로 하려고 하느냐? 첫째, 코드 재사용성을 통해 데이터만 있으면 ..

크립토 2021.08.17

[Polkadot] 폴카닷에 대한 자료수집-1(설립자, 특징점)

폴카닷(Polkadot) 설립자 폴카닷(Polkadot)은 2017년 패리티 테크놀로지(Parity Techonologies)에서 개발 했습니다. 패리티 테크놀로지는 개빈 우드(Gavin Wood, 이더리움 공동창시자)가 설립한 블록체인 회사입니다. 현재 패리티 테크놀로로지 CEO는 유타 슈타이너(Jutta Steiner) 입니다. Gavin Wood LinkedIn Jutta Steiner LinkedIn 이 회사에서 디앱(DApp)에 최적화된 블록체인 개발을 지원하는 도구인 서브스트레이드(SubStrate)를 만들었습니다. 2013년 비탈릭 부테린을 만나 이더리움 개발에 참여했으나, 2016년 부테린과 의견차이로 인해 이더리움 재단에서 탈퇴 했습니다. 폴카닷(Polkadot) 특징점 폴카닷은 타 블록..

크립토 2021.08.15