주식 자동화를 위한 백테스팅
[2024] 주식 자동화를 위한 백테스팅
유진투자증권 Champion Open API를 이용해 주식 자동화 프로그래을 개발하기 전 과거 투자시 변화의 정도를 대략적으로 확인하기 위한 백테스팅입니다
TQQQ와 SCHD를 분기별, RSI 기준으로 리벨런싱 하는 방식으로 10000달러로 시작해 최종 수익금, 수익률, 최대 낙폭을 계산해서 출력합니다
테스트 진행을 위한 yfinance, ta 모듈 설치
테스트를 하기 위해서 야후 파이낸스의 데이터를 불러올 수 있는 yfinance 모듈과 rsi 값을 불러오기 위한 ta 모듈이 필요합니다
!pip install yfinance
!pip install ta
...
Pyeugene
pyEugene (python + Eugene Open API)
pyEugene은 유진투자증권에서 제공하는 Champion Open API를 쉽게 사용하기 위한 비공식 python wrapper입니다.
사내에서 제공하는 ocx 파일을 python을 이용해 쉽게 사용하고자 진행한 개인 프로젝트 입니다.
pyEugene의 구조
pyEugene은 ocx에 익숙하지 않은 사용자들을 위해 최대한 쉽게 사용이 가능하도록 개발되었습니다. 쉽게 사용하도록 정리한 기능은 아래와 같습니다.
Eugene Champion Open API에서 제공하는 ocx의 구조
유진투자증권 버전처리 프로그램의 작동 구조
기본적인 컨트...
Boj 1011
[백준] 1011번 Fly me to the Alpha Centauri
거리에 따라 생기는 규칙을 파악하면 풀기 쉬운 문제입니다.
3 = 1, 1, 1
4 = 1, 2 ,1
5 = 1, 2, 1, 1
6 = 1, 2, 2, 1
7 = 1, 2, 2, 1, 1
8 = 1, 2, 2, 2, 1
9 = 1, 2, 3, 2, 1
과 같은 규칙을 가지고 있음으로 제곱수의 경우 sqrt(n) - 1, 다음 제곱 수까지의 수 절반 이하의 경우 sqrt(n), 절반 이후의 경우에는 sqrt(n) + 1을 가지고 있는 것을 볼 수 있습니다.
위와 같은 규칙을 이용해 아래와 같이 풀면 됩니다.
#include <io...
블록체인 가상머신
이더리움 가상 머신
소개
Ethereum 가상머신 즉 EVM은 Ethereum 스마트 컨트랙트를 위한 런타임 환경이다.
이것은 완전히 독립되어 있기 때문에 다른 프로세스 등에 접근할 수 없다.
심지어 스마트 컨트랙트는 다른 스마트컨트랙트에 접근이 제한적으로 불가능하다.
계정
Ethereum 내에는 같은 공간을 공유하는 2개의 계정이 있다.
외부계정은 사람이 가지고 있는 비밀키, 비밀키 쌍으로 동작되며, 컨트랙트 계정은 계정과 함께 저장된 코드에 의해 동작된다.
일단 계정이 코드를 저장하든 아니든 상관없이 두 종류는 모두 EVM 내에서 동일하게 다뤄진다.
모든 계정들은 256비트의 문자열이 서로 키...
Plt, got
PLT와 GOT란?
PLT (Procedure Linkage Table) : 일종의 실제 호출 코드를 담고 있는 테이블로써 PLT를 통해 다른 라이브러리에 있는 프로시저를 호출해 사용할 수 있습니다.
함수는 리턴값이 있고, 프로시저는 없습니다. 프로시저도 리턴값을 패러미터로 받을 순 있습니다. C언어에서의 call by reference정도로 생각할 수 있습니다.
GOT (Global Offset Table) : PLT가 참조하는 테이블로써 프로시저의 주소를 가지고 있습니다. PLT가 어떤 외부 프로시저를 호출할 때 이 GOT 를 참조해서 해당 주소로 점프하게 됩니다....
Iot project
NFC 모듈을 이용한 영상 재생
Title : NFC 및 Processing을 이용한 사진 및 영상 재생
Date : 2018. 11. 01 ~ 2018. 11. 09
Problem : 영상이 끝난는지 판별하는 방법
Solution : 영상이 끝나면 Serial로 STOP라는 문자열을 보낸다.
Arduino Code
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
int a;
unsi...