자동 거래하기

마지막 업데이트: 2022년 1월 9일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기

자동 거래하기

주식 자동 매매 프로그램은 주식 매수 조건과 매도 조건을 설정한 다음 지정한 조건에 해당되는 주식을 검색해 자동으로 매입하고 지정한 수익권에 다다르면 자동으로 주식을 매도하도록 지정해 수익을 올릴 수 있는 자동 매매 프로그램입니다.

주식 자동 매매 프로그램들은 실제 주식 거래 시 대부분 유료로 구매해 사용해야 하지만 '팡큐의 시스템 매매' 프로그램은 '키움증권'과 '이베스트증권'에서 사용 가능한 주식 자동 매매 프로그램을 무료로 배포하고 있으며 키움증권에서도 영웅문 HTS 프로그램 자체에서 주식 자동 매매 시스템인 '캐치 서비스'를 무료로 제공하고 있습니다.

▶ '팡큐의 시스템 매매' 프로그램

'팡큐의 시스템 매매' 프로그램은 해당 두 증권회사에서 지원하는 오픈API 기능을 이용해 제작된 자동 주식 매매 프로그램으로 HTS와 연계되어 해당 프로그램만으로 주식을 자동으로 매매할 자동 거래하기 수 있는 편리한 무료 프로그램입니다.

위 블로그로 접속해 프로그램을 다운로드하고 설치해 사용하면 됩니다.

무료 프로그램이지만 '팡규의 시스템 매매 커뮤니티' 사이트에 회원 가입을 한 다음 프로그램 실행 시 로그인을 해야 사용이 자동 거래하기 가능합니다.

▶ '캐치(KATCH) 서비스' 프로그램

키움증권의 경우 영웅문 HTS 프로그램 자체에서 '캐치(KATCH) 서비스'라는 자동 매매 시스템을 제공합니다.

영웅문 HTS 실행 후 상단 '캐치(KATCH)' 메뉴의 '캐치 서비스 시작하기'를 선택합니다.

'캐치 서비스 사전 이용 동의'에 모두 체크한 다음 '동의'를 클릭하고 현재 사용 중인 주식 계좌를 등록 후 '캐치 서비스 시작하기' 창에서 자동 매매 조건를 설정해 사용하면 됩니다.

주식 투자 자동 매매, 자동 거래 신박한 방법 라즈베리파이 활용

방법은 이베스트투자증권에서는 다른 증권사들과 다르게 안드로이드 및 iOS, 즉 모바일 앱용 API를 제공합니다.

그래서 증권사 서버와의 연결을 중계해주는 프록시 모바일 앱을 만들고 웹 어플리케이션이 이 모바일 앱을 통해서 증권사 서버에 요청하는 구조로 만들었습니다. 오~ 신박한 아이디어 입니다.

덕분에 웹으로 만들 수 있었고, 가벼운 웹서버와 DB서버를 이용해서 라즈베리파이에서 실행시킬 수 있게 되었습니다.

라즈베리파이 정도면 하루 종일 켜놓고 있어도 전기소비량이 PC나 노트북에 비하면 월등히 적습니다. 더구나 1대 가격이 5~10만원 가량, 중고로 구매하면 더 저렴합니다.

설치방법 - 무료입니다

하지만, 설치하는 방법이 일반인이 따라하긴 좀 어려울 수도 있습니다.

데모사이트 : https://beefproj.duckdns.org/beefproj/ (id/pw : demo/demo)
(오라클 무료 클라우드에 띄워놓은 것이고 멀티유저용으로 제작된 것이 아니라 불안정할 수 있다고 합니다.)

데모 함 보고 마음에 든다면, 고고고 해보세요.

설치방법이 쉽지는 않습니다. 그래도 동영상으로 잘 설명을 해두어서 따라하면 설치할 수 있긴 합니다.

영상보고 따라하기 쉽지 자동 거래하기 않다면, 그냥 다른 프로그램 사용하는 것이 더 좋습니다.

사용법

네, 저는 주식에 대해 아는 것이 없다 보니 무슨 말 하는지 하나도 모르겠습니다.

자동매매, 자동거래에 필요한 많은 기능들이 제공되는 것 같습니다.

역시 코딩은 21세기의 기본 소양인가요?

ㅎㅎ 설마요. 웹 개발 하시는 분이라 사이드 프로젝트로 만드셨겠죠.

물론, 본업과 상관 없이 코딩 배워서 필요한 프로그램들 만드는 분들도 있습니다.

뭐든 배우는 건 다 좋습니다.

하지만, 취미로 배워서 이정도 완성도 갖는 웹 사이트 만드는 것이 쉽지는 않습니다.

소스가 공개되어 있진 않습니다

github 링크가 있어서 소스가 공개되어 있는가 보다, 주식은 모르지만 소스나 함 볼까 싶었는데 소스가 공개되어 있진 않습니다.

소스가 공개되어 있으면 더 재미나게 봤을텐데 아쉽습니다.

웹 스택은 뭘로 구성했나, 백엔드는 뭘로 만들었나, 프론트엔드는 뭘 자동 거래하기 사용했나 궁금했는데 말입니다.

그래도 라즈베리파이를 응용한 것은 정말 멋지네요.

저도 라즈베리파이 하나 구매해 가지고 놀아 봐야겠습니다.

전기도 적게 먹고, 크기도 아주 작아서 서버나 항상 켜둬야 하는 프로그램 돌리는 용도로 사용하면 자동 거래하기 좋을 것 같습니다.

근데, 딱히 그렇게 돌려야할 프로그램이 필요한 상황이 아직까진 없긴 하네요.

나중에 필요하면 사야겠습니다.

Teach, Learn, and Make with Raspberry Pi

The Raspberry Pi is a tiny and affordable computer that you can use to learn programming through fun, practical projects. Join the global Raspberry Pi community.

비트코인 자동매매하기 4-5편(코드짜기5)

사실 적은 돈으로 하면 문제가 없는데 돈이 커질수록 거래가 너무 많아질 것이기 때문에 이를 막으려고 5000원이란 돈보다는 0.5% 즉 퍼센트로 기준을 바꿔서 해결하려고 합니다.

1. 업비트로 4단계 인증 후 open API 받기

2. 파이썬 3.89 설치, Visual studio code 설치

3. 코드 짜기

4. 클라우드에 올려 24시간 실행하기.

if에 대해 몰랐던 사실을 알게 되었습니다. 저는 처음에 If는 무조건 else가 필요한 줄 알았는데 그게 아니더군요.

그래서 elif를 써야되나 if를 써야 되나 고심 고심하다가 설마 if만 써도 되나? 하고 실험해 보니까 if만 써도 되더군요.

그래서 다음과 같이 바꾸었습니다.

이전 코드와 거의 동일한데 단지 else를 쓰지 않고 if만 사용하였습니다.

저는 초기 자금을 110 넣어서 거의 100으로 생각하면 0.5%가 달라질 때마다 거래를 했는데 그와 비슷하게 거래를 할 것입니다.

흠.. 원래 자동 거래하기 다음 것을 다음글로 쓰려고 했는데 그렇게 하면 이번 것이 너무 짧아져서 아래에 쓸게요.

며칠 코인 자동거래를 하면서 느낀 점은 불안하다는 것입니다. 제가 산 다음 도지 코인이 너무 올라 계속 팔게 되고 잠깐 방심하면 확 떨어질 것 같은 느낌이 들었어요.

그래서 밖에서 코딩을 수정하고 환매를 하게 만들었습니다.

(a에 마이너스 값을 주면서 말이죠.)

그리고 오늘 신사임당 님 유튜브에서 돈 깡의 인터뷰를 보았습니다. 이분은 주식을 전업으로 하십니다.

운용금액은 45억이라고 하는데 자신이 운용하는 돈은 항상 10억이라고 합니다.

돈을 많이 벌면 일정부분 환매하고 다시 10억으로 시작하신다고 합니다.

반대로 손해를 보면 다시 돈을 채워 넣고 10억으로 시작하는 거죠.

저도 이러한 전략을 제 코인에 넣으려고 합니다.

대신 원금이 적은 만큼 원금에서 이득 보는 금액의 반을 기준금액으로 삼으려고 합니다.

예를 들어서 100만원을 투자해서 130만 원이 되었다면 15만 원은 현금으로 하여 115만 원은 코인으로 가지고 있습니다.
하지만 코인장이 좋지 않아서 내가 산 코인의 가격이 빠져서 115만 원에서 100만 원으로 감소했다고 가정합니다.
그러면 자동으로 현금을 추가해서 코인을 샀다가 나중에 가격이 오르면 다시 팔고 싶은 전략을 사용하고 싶을 겁니다.
다음 코드는 이러한 전략을 포함하였습니다.

Technology & Finance

이번 자동 거래하기 자동 거래하기 시간에는 앞으로 진행하려고 하는 파이썬을 이용한 비트코인 자동매매 프로그램 만들기에 대해서 간단히 안내해 드리려고 합니다.

연재를 시작하게 된 배경

요즘은 100만원 가량의 수업료를 받고 비트코인 자동매매 프로그램 개발을 가르쳐 주는 온라인/오프라인 수업이 있을 정도로 비트코인 광풍이 불고 있고 자동화 매매 프로그램에 대한 관심이 많아지고 있습니다.

저 역시 관심을 가지고 있는 주제이기 때문에 자동매매 프로그램을 개발해서 사용 중인데요. 혼자 개발해서 사용 하는데는 한계가 있는 것 같다는 생각이 들었습니다.

그래서 앞으로 비트코인 자동매매 프로그램을 만드는 연재를 진행하면서 관심을 가지고 계신 분들과 정보를 주고 받으며 로직을 함께 발전시켜 보려고 합니다.

주의 사항

항상 수익을 내는 로직은 없다

말 그대로 항상 수익을 내는 로직은 없습니다. 시장은 수요와 공급에 의해서 형성되고 수요와 공급은 예측 불가능한 여러가지 요인에 의해서 결정되기 때문에 시장을 정확하게 예측하여 항상 수익을 내는 로직은 세상에 없습니다.

그럼 왜 자동매매 프로그램을 만드는걸까요?

자동매매 프로그램이 필요한 이유

① 자동매매 프로그램은 손으로 하는 매매의 스트레스를 덜어 줍니다.

예를 들어 비트코인이 10%이상 급락했을 때 매수하고 5% 이상 하락 시 손절하며 5% 이상 수익 시 매도하는 프로그램을 만들었다면 24시간 시장을 모니터링 하거나 알림 설정을 하지 않아도 자동으로 매수/매도/손절을 진행하게 자동 거래하기 됩니다.

비트코인은 24시간 거래가 가능하기 때문에 자동 프로그램이 없다면 알림 설정을 이용하거나 24시간 시장을 모니터링 해야 하는데 매매 시점은 언제 발생할지 모르기 때문에 알림 설정을 해 놓아도 자거나 다른 일을 하다가 놓치는 경우가 생길 수도 있습니다.

자동매매 프로그램을 이용하게 되면 내가 자고 있거나 다른 일에 신경을 쓰고 있더라도 원하는 순간에 매매를 해 주기 때문에 스트레스를 줄여 줍니다.

② 예약 매매보다 수수료가 저렴합니다.

거래소의 예약 매수/매도를 이용하는 경우에는 수수료가 일반적인 거래보다 비싼데 자동 매매 프로그램을 이용하게 되면 일반 거래와 동일한 수수료를 적용 받게 됩니다.

③ 나만의 로직 적용 가능

거래소에서 제공하는 예약 매수/매도 기능은 단순히 가격만 모니터링 하는 기능을 가지고 있습니다. 하지만 직접 만드는 프로그램은 자신이 원하는 로직을 만들어서 적용할 수 있습니다.

여러가지 지표들을 이용하여 매매를 할 수도 있으며 비트코인이 떨어지면 알트코인을 매수하는 등 복합적인 로직을 적용시킬 수 있습니다.

④ 뇌동 매매를 방지합니다.

너무 자주 거래소를 보고 있으면 판단력을 상실하여 급등하는 코인을 봤을 때 뇌동 매매를 하게 되는 경우가 많습니다. 대부분 이럴 때 큰 손실을 보게 되는 경우가 많은데요.

자동매매 프로그램을 이용하면 만들어 놓은 로직에 의해서만 매매를 하기 때문에 뇌동 매매를 하지 않게 됩니다.

앞으로의 계획

파이썬 등 관련 프로그램을 설치하는 방법부터 설정하는 방법 그리고 업비트를 이용해서 자동매매 프로그램을 개발하는 과정을 하나하나 차근차근 자세하게 포스팅 할 계획입니다.

자동매매 프로그램의 틀을 만들고 기능을 하나하나 붙여갈 예정이며 의견을 주고 받으며 수정하며 최대한 시장을 이길 수 있는 로직을 만들어 볼 계획입니다.

자동 거래하기

데하! 안녕하세요 DevStone입니다!

오늘은 본격적으로 상장 종목, 종목 데이터를 읽어오는 방법을 알아보겠습니다.

우선 지난번에 발급한 Key를 불러오는 부분을 선언해 줘야 합니다.

방법은 다양하게 있지만 저는 우선 txt 파일로 따로 작성 후 불러오는 방식으로 구현하겠습니다.

※키 등록은 매수, 매도 주문을 하기 위해 필요한 과정입니다.

본 포스팅에서는 매수, 매도 주문은 다루지 않고 다음 포스팅에서 작성할 예정입니다.

단, 가장 중요한 부분이기 때문에 먼저 포스팅하였습니다.

Api 설치

우선 가장 먼저 Api를 사용하기 위해 모듈을 다운로드하여 줍니다.

pip install pyupbit

저는 이미 설치했기 때문에 위와 같이 뜹니다.

ApiKey 등록

open을 사용하여 우선 기존에 기록되어 있는 upbit.txt 파일을 열어 줍니다.

readlines()를 사용하여 줄 단위로 읽어 옵니다.

access 키는 lines[0] 즉 0번째 줄

secret 키는 linesp[1] 즉 1번째 줄입니다.

물론 사람마다 다르게 기록할 수 있으니 변경해 주시면 됩니다.

맨뒤에는. strip()를 작성해줍니다. whitespace 를 제거하기 위해서입니다.

※whitespace (화이트 스페이스)란, 띄어쓰기(' '), 탭('\t'), 엔터('\n')를 포괄적으로 이야기하는 것이며

. strip()를 사용하면 문자열의 맨 앞과 맨뒤 의 whitespace가 제거됩니다. 단, 중간중간은 제거되지 않습니다.

마지막으로 upbit란 변수에 accessKey와 secretKey를 등록해줍니다.

상장 종목 조회

우선 설치한 pyupbit를 import 해줍니다.

그 후 pypubit.get_tickers를 사용하여 전체 상장 종목을 조회해 줍니다.

:param fiat: "ALL", "KRW", "BTC", "USDT"
:param limit_info: 요청수 제한 리턴

뒤에 파라미터 옵션으로는 위와 같이 입력할 수 있습니다.

해당 소스로 조회 시 다음과 같이 표시됩니다.

또한 형태는 list형태로 반환합니다.

종목 데이터 자동 거래하기 조회

pypubit.get_ohlcv를 사용하여 각 종목별 데이터를 조회합니다.

위의 보기에서는 예시로 대장 코인인 비트코인 한화를 입력하여 조회하였습니다.

:param ticker : 조회 종목명
:param interval : day( 일봉 ), minute( 분봉 ), week( 주봉 ), 월봉 (month)

:param conut: 조회 일(개수)

Interval의 Default는 "Day"

count의 Default "200"입니다.

count는 200일이 최대입니다.

조회 결과는 위와 같이 나오며

open(시가), high(고가), low(저가), close(종가), volume(거래량)으로 출력됩니다.

데이터 형태는 'pandas.core.frame.DataFrame'입니다.

위의 데이터를 아래 예시와 같이 출력 및 가공하여 사용하면 됩니다.

오늘은 이렇게 Apikey 등록 방법, 전체 종목 조회, 종목별 데이터 수집까지

알아보았습니다. 상당히 간단하죠?? 천천히 따라 하시다 보면 본인이 원하시는 프로그램을 만드실 수 있을 겁니다!

예제 소스는 git에서 확인하실 수 있습니다.

Contribute to Maker-Kim/Study development by creating an account on GitHub.


0 개 댓글

답장을 남겨주세요