Home

주식 자동화를 위한 백테스팅

[2024] 주식 자동화를 위한 백테스팅 유진투자증권 Champion Open API를 이용해 주식 자동화 프로그래을 개발하기 전 과거 투자시 변화의 정도를 대략적으로 확인하기 위한 백테스팅입니다 TQQQ와 SCHD를 분기별, RSI 기준으로 리벨런싱 하는 방식으로 10000달러로 시작해 최종 수익금, 수익률, 최대 낙폭을 계산해서 출력합니다 테스트 진행을 위한 yfinance, ta 모듈 설치 테스트를 하기 위해서 야후 파이낸스의 데이터를 불러올 수 있는 yfinance 모듈과 rsi 값을 불러오기 위한 ta 모듈이 필요합니다 !pip install yfinance !pip install ta ...

Read more

Pyeugene

pyEugene (python + Eugene Open API) pyEugene은 유진투자증권에서 제공하는 Champion Open API를 쉽게 사용하기 위한 비공식 python wrapper입니다. 사내에서 제공하는 ocx 파일을 python을 이용해 쉽게 사용하고자 진행한 개인 프로젝트 입니다. pyEugene의 구조 pyEugene은 ocx에 익숙하지 않은 사용자들을 위해 최대한 쉽게 사용이 가능하도록 개발되었습니다. 쉽게 사용하도록 정리한 기능은 아래와 같습니다. Eugene Champion Open API에서 제공하는 ocx의 구조 유진투자증권 버전처리 프로그램의 작동 구조 기본적인 컨트...

Read more

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...

Read more

블록체인 가상머신

이더리움 가상 머신 소개 Ethereum 가상머신 즉 EVM은 Ethereum 스마트 컨트랙트를 위한 런타임 환경이다. 이것은 완전히 독립되어 있기 때문에 다른 프로세스 등에 접근할 수 없다. 심지어 스마트 컨트랙트는 다른 스마트컨트랙트에 접근이 제한적으로 불가능하다. 계정 Ethereum 내에는 같은 공간을 공유하는 2개의 계정이 있다. 외부계정은 사람이 가지고 있는 비밀키, 비밀키 쌍으로 동작되며, 컨트랙트 계정은 계정과 함께 저장된 코드에 의해 동작된다. 일단 계정이 코드를 저장하든 아니든 상관없이 두 종류는 모두 EVM 내에서 동일하게 다뤄진다. 모든 계정들은 256비트의 문자열이 서로 키...

Read more

블록체인 개요

블록체인 개요 트랜잭션 - 만약 데이터베이스에 어떤 것을 변경하려고 한다면 트랜잭션을 만들어야하며, 다른 모두가 동의해야 한다. 트랜잭션은 항상 만든 사람에 의해 암호화된다. 그래서 데이터베이스를 직접 수정하려는 것을 차단할 수 있다. 블록 - 비트코인이 극복해야하는 가장 큰 장애물은 “이중 지불 공격”이다. 계정을 초기화 할 2개의 트랜잭션이 동시에 일어난다면 먼저 들어온 하나의 트랜잭션만이 유효할 것이고, 두 번째 트랜잭션은 거절되고 블록의 일부가 되지 않을 것이다. ...

Read more

공유 라이브러리

정적 라이브러리와 공유 라이브러리 기본적으로 라이브러리는 비슷한 기능을 하나의 파일로 묶어서 해당기능을 재사용 할 수 있게 해주는 설계기법이다. 정적라이브러리는 응용프로그램을 컴파일하고 링킹하는 시점에서 정적으로 결합된다. 공유라이브러리는 응용프로그램을 빌드해서 링킹할 때 공유라이브러리의 어떤 기능을 사용할 것이다라고 표시만 해두고, 응용프로그램과 라이브러리의 결합은 응용프로그램이 실행될 때 이루어 진다. 컴파일이란 사용자가 만든 소스를 기계어인 어셈블리어로 바꿔주는 과정을 말한다...

Read more

Plt, got

PLT와 GOT란? PLT (Procedure Linkage Table) : 일종의 실제 호출 코드를 담고 있는 테이블로써 PLT를 통해 다른 라이브러리에 있는 프로시저를 호출해 사용할 수 있습니다. 함수는 리턴값이 있고, 프로시저는 없습니다. 프로시저도 리턴값을 패러미터로 받을 순 있습니다. C언어에서의 call by reference정도로 생각할 수 있습니다. GOT (Global Offset Table) : PLT가 참조하는 테이블로써 프로시저의 주소를 가지고 있습니다. PLT가 어떤 외부 프로시저를 호출할 때 이 GOT 를 참조해서 해당 주소로 점프하게 됩니다....

Read more

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...

Read more