Coding Is My Life

코딩은 인생

728x90

분류 전체보기 108

[기타][앞으로 포스팅 계획]

포스팅의 전체적인 주제 이전글인 고점 저점 알고리즘을 이용한 추세 예측에 대한 매매 전략과 전략에서의 문제점의 대해서 포스팅을 할 계획이다. 이전에 분석 했던 내용은 바이낸스 BTC/USDT의 1d 데이터만을 가지고 단순히 최근 몇개의 데이터만을 테스트해보았지만 최근 1m 데이터를 가지고 여러방면으로 분석하고 교차검증한 결과 유의미한 모델이 나와서 이 모델에 대한 전략을 생성해서 자동매매를 해보았다. 여러가지 문제점이 있었지만 나름 안정적인 수익률이 나왔고 이 모델을 더 발전할 수 있는 방향과 보안점을 기점으로 포스팅하려고 한다. 포스팅 주제 1. 저점/고점 주변 몇%의 데이터를 저점/고점과 같이 라벨링과 하락추세와 상승추세 라벨링의 결합 기존의 추세 라벨링에서는 예측 클래스가 상승추세, 하락추세 두가지..

카테고리 없음 2022.11.05

[ML/AI][Bitcoin Trend Prediction with ML/머신러닝 활용한 비트코인 추세예측]

서론 기존의 주가예측은 가격 데이터 및 거시경제 데이터를 기반으로 다음날의 종가를 RNN, LSTM 같은 순환 신경망 모델로 예측하였다. 여러 논문의 예측 결과 그래프를 보면 거짓말같이 실제 주가와 거의 비슷하게 예측되는 결과물이 많이 있다. 하지만 자세히 보면 예측한 그래프가 원래 그래프 보다 1일 앞에 있는것과 비슷하다는 것을 알 수 있다. 이러한 이유는 모델이 학습을 할때 loss값이 현재 값- 전날 값이 가장 최적의 loss값이라고 판단했기 때문에 이러한 결과가 나오는 것이다. 그리고 다음날의 종가는 거의 랜덤한 값의 가깝기 때문에 정확하게 예측하는 것은 한계가 있다. 이러한 한계가 있기 때문에 주가 추세 예측에 대한 연구를 하게 되었다. 예측 모델로는 classification 모델인 Linea..

[ML/AI][Bitcoin Data Analysis And RNN Model Prediction]

거래소로부터 데이터 불러오기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import ccxt,pandas as pd import datetime def to_timestemp(dt): dt = datetime.datetime.timestamp(dt) dt = int(dt) * 1000 return dt binance = ccxt.binance() col = ['datetime', 'open', 'high', 'low', 'close', 'volume'] format = '%Y-%m-%d %H:%M:%S' dt = datetime.datetime.strptime('2018-01-01 00:00:00',format) dt = to_timestemp(dt) btc_ohlcv = binan..

[ML/AI][SimpleRNN with Keras]

RNN RNN은 은닉층의 노드에서 활성화 함수를 통해 나온 결과값을 출력층 방향으로도 보내면서, 다시 은닉층 노드의 다음 계산의 입력으로 보내는 특징을 갖고있습니다. x는 입력층의 입력 벡터, y는 출력층의 출력 벡터입니다. RNN에서 은닉층에서 활성화 함수를 통해 결과를 내보내는 역할을 하는 노드를 셀(Cell)이라고 하고 이전의 값을 기억하는 메모리 역할을 하므로 메모리 셀이라고 표현합니다. 현재 시점 변수를 t로 표현 t 시점의 메모리 셀은 t-1 시점의 메모리 셀이 보낸 은닉 상태값을 t 시점의 은닉 상태 계산을 위한 입력값으로 사용 뉴런 단위로 시각화 Keras SimpleRNN 위에서 설명했듯이 이전 timestep의 출력이 다음 timestep으로 완전히 연결된 모델을 keras에서는 sim..

[Django Project][주식 종목 추천 프로그램 웹에서 구현]

이번에는 저번에 만든 community사이트에 주식 종목을 추천해주는 프로그램을 구현해 보도록하겠다. 주식 추천 프로그램은 내 블로그에서 한번 소개했었던 envelope를 이용한 주식매매 프로그램을 사용하였다. https://kpumangyou.tistory.com/93?category=895793 [파이썬][보조지표 envelope를 이용한 코스피 200종목 분석] Envelope란? n일의 이동평균선에 +m%,-m%를 뜻한다. 분석 내용 보통 20일 이동평균선을 사용하고 m은 트레이더의 성향에 따라 많이 다르나 가장 보편적으로 사용되는 10으로 두고 분석해보겠다. 하향 e kpumangyou.tistory.com 일단 view코드를 보면 다음과 같다. import pandas as pd import ..

파이썬 2021.12.24

[Django Project][community 만들기 - 게시판 만들기(2)]

글쓰기 만들기 저번에 만든 게시판 기능에 글쓰기 기능을 추가해 보겠다. 일단 글쓰기에 사용될 html코드를 부트스트랩의 기본 예제로 간단하게 만들어 보았다. 홈 비트코인 주식 게시판 회원가입 로그인 {% csrf_token %} {{error}} 제목 내용 글쓰기 그리고 view을 작성해 주었다. def bored_write(request): if request.method == 'GET': return render(request,'bored_write.html') else: user_id = request.session.get('user') if user_id == None: return HttpResponse('로그인 후 이용가능합니다.') else: writer = user.objects.get(p..

파이썬 2021.12.23

[Django project][community 만들기 - 게시판 만들기(1)]

게시판 만들기 일단 bored라는 이름의 앱을 하나 생성하고 시작하였다. 그리고 똑같이 templates 폴더도 bored 폴더안에 만들어 주었다. 그리고 다음과 같이 게시판에 사용될 html 코드를 작성하였다. 부트스트랩의 기본 예제들을 가지고 간단하게 만들어보았다. 홈 비트코인 주식 게시판 회원가입 로그인 # 제목 아이디 일시 {% for i in boreds %} {{i.id}} {{i.title}} {{i.writer}} {{i.register_dttm}} {% endfor %} 글쓰기 이제 데이터베이스를 만들어주고 migrate까지 해보겠다. 그전에 setting.py에 들어가서 앱을 추가해줘야 migrate가 된다. 일단 다음과 같이 모델을 만들어 주고 migrate를 해주었다. migrate..

파이썬 2021.12.23

[Django Project][community 만들기 - 세션과 로그인]

세션이란? 클라이언트에는 쿠키라는 저장소가 있고 서버에는 데이터 베이스가 있다. 클라이언트가 서버에 요청을하게 되면 서버에서는 쿠키로 사용할 키를 만든다. 서버는 데이터 베이스에 키를 저장하고 쿠키를 클라이언트로 보낸다. 그리고 클라이언트도 쿠키를 저장한다. 브라우저마다 쿠키를 저장하는 저장공간이 다르다. 그리고 다음 요청부터 클라이언트가 쿠키를 같이 보내고 데이터베이스에서는 쿠키를 가지고 클라이언트의 사용자를 구분할 수 있다. 이러한 방식으로 로그인하는 것을 구현 할 수 있다. 로그인 페이지 html Log-in {% csrf_token %} {{error}} ID Password Login 로그인 페이지는 저번에 만들었던 회원가입 html을 재활용하였다. view코드 def login(request)..

파이썬 2021.12.12

[Django Project][community 만들기 - url 설정하기]

저번에 생성한 view을 이제 url로 서버에 연결을 해보겠다. 여러가지 방법이 있지만 나는 앱마다 urls.py를 만들어서 해당 앱에 있는 url를 각각 관리하도록 만들어 보겠다. 1. 프로젝트로 생성한 디렉토리의 urls.py 설정하기 프로젝트의 urls.py에 들어가서 해당 코드를 작성하였다. from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('user/',include('user.urls')) ] path('user/',include('user.urls')) 원래 urls.py에서 이것만 추가한 것이다. 이렇게 설정하면 user..

파이썬 2021.12.12

[Django Project][community 만들기 - template과 view 만들어 주기]

이번에는 view와 template을 만들어서 로그인 화면을 만들어 보도록 하겠다. html코드는 다음과 같이 만들어 보았다. Log-in {% csrf_token %} {{error}} ID E-mail Password Re-Password Submit 일단은 틀만 만들어서 필요한 내용은 다음에 필요할 때 추가해 보도록 하겠다. 홈페이지를 열어보면 다음과 같다. 이제 view를 만들어서 데이터 베이스와 연동을 시켜보겠다. view.py의 코드는 다음과 같다. from django.http import HttpResponse from django.shortcuts import redirect, render from .models import user # Create your views here. def ..

파이썬 2021.12.12
728x90