코딩

🚀 AI에게 맡기는 비트코인 투자 자동화

capstone012 2025. 10. 20. 08:39
반응형
SMALL

목표와 형식 안내

  • 요청하신 글의 핵심 내용을 블로그용 자료로 정리하고, 목차 구성 및 실행 가능 절차를 포함합니다.
  • 난해한 용어에 대한 간단한 설명을 덧붙이고, 실행 가능 영역은 시각적으로 강조 표기(사각형 박스나 명시적 표시)로 제시합니다.
  • 참조 링크, 참고문헌, 추가 설명, 그리고 요약과 태그를 제공합니다.
  • HTML 형식은 제거하고 기본 마크다운 형식으로 정리합니다.
  • 마지막에 흥미로운 그림 제안도 1–3개 정도 포함합니다.

글의 핵심 주제

  • AI를 활용한 비트코인 자동 매매의 중급 과정 설계
  • MVP에서 벗어나 멀티타임프레임, 투자 철학 반영, 뉴스 데이터 반영, 투자 비율 조정 등 고도화 추진
  • 데이터 저장 및 대시보드 구축, 클라우드(AWS) 배포 및 관리
  • 실행 흐름: 데이터 수집 → AI 판단 → 매매 실행(또는 보류) → 로그/대시보드 업데이트
  • 안전 및 운영 팁: API 키 관리, IP 바운더리, 백그라운드 실행, 보안 강화(2차 인증)

목차

  • 1부. 개요와 목표
  • 2부. 중급 과정에서 다루는 핵심 고도화 포인트
    • 2-1 멀티타임프레임 데이터 확장
    • 2-2 투자 철학 반영
    • 2-3 뉴스 데이터 반영
    • 2-4 투자 비율 조절 기능
  • 3부. 데이터 저장과 대시보드
    • 3-1 데이터베이스(SQLITE) 활용
    • 3-2 대시보드 구축(Streamlit)
    • 3-3 로그와 회고 데이터의 활용
  • 4부. 클라우드 배포와 운영
    • 4-1 AWS EC2 배포 절차
    • 4-2 GitHub 연동 및 배포 자동화
    • 4-3 보안 및 관리 팁
  • 5부. 구현 절차의 단계별 실행 가이드
  • 6부. 참고문헌 및 참조 링크
  • 7부. 요약 및 핵심 포인트
  • 태그 목록

1) 핵심 고도화 포인트 설명

  • 멀티타임프레임 데이터 확장
    • 일봉 외의 시간대 데이터(H1, M30 등)를 추가로 수집해 AI에 입력한다.
    • 데이터 구조를 DF1(Daily), DF2(Hourly), DF3(Minute 등)로 나눠서 처리.
    • 구현 방법: 기존 코드의 데이터 페이로드에 여러 타임프레임 데이터를 추가하고, AI가 이를 함께 해석하도록 시스템 프롯트를 구성한다.
    • 실행 팁: AI가 “장기/중기/단기” 흐름을 통합해서 판단하도록 피드백 루프를 설계한다.
  • 투자 철학 반영
    • 워렌 버핏 등의 투자 원칙을 시스템 프롬트에 반영해 AI가 원칙에 근거해 판단하도록 한다.
    • 예시: “당신은 투자 전문가입니다. 아래의 투자 원칙에 따라 투자합니다: Never lose money, Never forget to learn from past trades.”
    • 구현 팁: 원칙 텍스트를 시스템 프롯트에 포함하고, 강화 학습이 아니더라도 규칙 기반 판단의 가이드로 활용한다.
  • 뉴스 데이터 반영
    • 설프 API를 통해 뉴스 데이터를 수집하고 구글 뉴스 API를 이용해 실시간 뉴스를 AI에 제공한다.
    • 데이터 흐름: 차트 데이터 + 멀티타임프레임 데이터 + 뉴스 데이터 → AI 판단
    • 실행 팁: 테스트 파일(tests.py, test.py 등)을 통해 뉴스를 정상적으로 수집하는지 확인 후 전체 파이프라인에 통합한다.
  • 투자 비율 조절
    • 현재 MVP는 재산의 전부를 투자하는 구조이나, 비율을 AI가 조절하도록 한다.
    • 시스템 프롯트에 “투자 비율은 예시로 30%” 같은 출력 형식을 포함시키고, AI가 실제 비율을 산출하도록 한다.
    • 확신도(confi dence) 지표를 도입해 특정 임계치(예: 확신 0.5 이상일 때만 매매)로 작동하도록 한다.
  • 데이터 저장과 대시보드
    • SQLite DB에 거래 내역 저장 및 회고 데이터를 관리한다.
    • 스트림릿(Streamlit) 대시보드를 통해 실시간 수익률과 거래 로그를 시각화한다.
    • 저장된 데이터를 바탕으로 회고 분석(AI가 과거 거래를 반성하고 개선안 제시)을 수행할 수 있다.
  • 클라우드 배포
    • AWS EC2를 활용해 24/7 운영 환경을 구축한다.
    • GitHub에서 코드를 클로닝하고 배포 자동화를 구성한다.
    • 보안: IP 기반 API 키 관리, 2단계 인증(2FA) 권장, 인바운드 포트 관리(예: 8501 포트 개방).

2) 실행 가능한 절차(단계별 안내)

  • 2-1 데이터 확장 및 멀티타임프레임 구성
    • 새 파일(오토트레이드 멀티타임프레임 버전) 생성.
    • 현재 DV 데이터 구조를 확장하여 DF1: 일간, DF2: 1시간, DF3: 30분 등 다중 타임프레임 데이터를 수집하도록 수정.
    • AI 입력 페이로드에 각 DF 데이터를 포함하도록 구성.
    • AI에게 멀티타임프레임 데이터를 제공하는 시스템 메시지 예시를 추가.
  • 2-2 투자 철학 반영
    • 시스템 프롯트에 투자 원칙 텍스트를 삽입.
    • 예시 프롯트: “당신은 투자 전문가입니다. 투자 원칙은 아래와 같습니다: Never lose money; Always strive to learn from past trades.”
    • 필요 시 영어로 확장.
  • 2-3 뉴스 데이터 연동
    • 설프 API 계정 생성 및 API 키 확보.
    • EMV 환경 변수 파일에 설프 API 키 추가.
    • 구글 뉴스 API를 통해 비트코인 관련 뉴스 수집 로직 구현.
    • 수집된 뉴스 데이터를 AI 입력에 포함.
  • 2-4 투자 비율 조절 로직
    • 현재 전체 자본 투입 대신 비율 기반 매매 로직 도입.
    • AI가 투자 비율(예: 10%, 30%)을 산출하도록 프롯트에 지시.
    • 확신도(confi dence) 지표를 추가하고, 조건부 실행 규칙 설정.
  • 2-5 DB 구축 및 대시보드
    • SQLite DB에 거래 로그, 판단 내역, 비율, 확신도 등을 저장하는 스키마 설계.
    • 스트림릿 대시보드로 수익률, 최근 거래, 자산 현황 등을 시각화.
    • 대시보드는 API 포트(예: 8501)로 접근 가능하도록 구성.
  • 2-6 AWS 배포 및 운영
    • AWS EC2 프리 티어 이용해 Ubuntu 24.04 인스턴스 구성.
    • GitHub 레포지토리에서 코드 클론 및 의존성 설치.
    • API 키를 IP에 맞춰 재발급 및 환경 변수 재설정.
    • 백그라운드 실행(none가 아닌 nohup)으로 24/7 동작 보장.
    • 8501 포트 열기 및 보안 그룹 설정.
  • 2-7 실행 체크리스트
    • API 키와 IP가 일치하는지 확인.
    • 멀티타임프레임 데이터가 정상적으로 수집되는지 확인.
    • 대시보드가 8501 포트에서 접근 가능한지 확인.
    • 로그 파일에 오류가 없는지 점검.

3) 필요 정보 보완 및 추가 설명

  • 용어 해설
    • 멀티타임프레임: 서로 다른 시간 간격의 차트를 동시에 분석하는 방법. 예: 1일, 4시간, 1시간 등.
    • 시스템 프롯트(system prompt): AI에게 주는 명령 형식의 지시문으로, 판단 규칙과 맥락을 제공합니다.
    • 설프 API: 뉴스 데이터 수집 플랫폼의 API. 기본 무료 사용량이 제공됩니다.
    • 스트림릿(Streamlit): 파이썬으로 빠르게 웹 대시보드를 만들 수 있는 라이브러리.
    • SQLite: 경량 관계형 데이터베이스로 파일 하나로 데이터 저장 가능.
    • EC2: AWS의 가상 서버.
  • 실행 시 주의사항
    • API 키의 노출 위험이 있으므로 코드와 설정 파일에서 키를 반드시 비공개로 관리.
    • 클라우드 배포 시 포트 및 보안 설정을 잘 구성해야 외부 접근이 가능.
    • 프리 티어 기간이 끝나기 전에 비용 관리에 주의.

4) 참조 사이트 및 추가 자료(링크 제공 형식으로 목록)

  • 빗썸 API 가이드 및 파이썬 라이브러리 자료
    • 빗썸 공식 개발자 가이드
    • 파이썬 빗썸 라이브러리 예제 및 사용 방법
  • 멀티타임프레임 데이터 처리 예제
    • 멀티타임프레임 데이터 수집 예제 및 트릭
  • 투자 철학 반영 예시
    • 워렌 버핏의 투자 원칙 요약 및 텍스트 프롯트 샘플
  • 뉴스 데이터 수집
    • 설프 API 문서(뉴스 데이터 API)
    • 구글 뉴스 API 플레이그라운드 예제
  • 대시보드 및 시각화
    • 스트림릿(Streamlit) 공식 문서
    • 스트림릿과 데이터베이스 연결 예제
  • AWS 배포
    • AWS EC2 프리 티어 사용 가이드
    • AWS 보안 그룹 및 포트 개방 방법
    • SSH 키 관리 및 2차 인증 권장

참조 사이트를 정확히 링크로 제공하려면 사용자가 원하시는 도메인이나 특정 강의 자료를 알려주셔도 좋습니다. 지금은 일반적으로 필요한 범주를 나열했습니다.


5) 참고문헌

  • 비트코인 자동 매매 사례 연구 및 구현 원리
  • AI 기반 금융 트레이딩의 데이터 확장 원리
  • 클라우드 기반 금융 서비스 운영 가이드

6) 요약

  • 중급 과정의 핵심은 멀티타임프레임 데이터, 투자 철학 반영, 뉴스 데이터 반영, 투자 비율 조절 등으로 AI 투자 판단의 고도화를 구현하는 것이다.
  • 데이터 저장과 대시보드 구축으로 실시간 모니터링과 회고를 가능하게 한다.
  • AWS 배포를 통해 365일 24시간 안정적으로 자동 매매를 운영하도록 한다.
  • 안전한 API 키 관리와 보안 설정이 핵심이며, 실행 전 체크리스트를 따라 차근차근 구축하는 것이 좋다.

7) 태그

  • AI트레이딩
  • 자동매매
  • 멀티타임프레임
  • 뉴스데이터
  • 투자철학
  • 대시보드
  • 스트림릿
  • AWS배포
  • 빗썸API
  • SQLite

실행 형식이나 특정 섹션에 대한 더 자세한 예시(코드 스니펫, 시스템 프롯트 샘플, 대시보드 구성 예시) 원하시면 바로 추가해 드리겠습니다.

 
 

 

 

예시 코드를 어떤 언어로 드리는 게 가장 효율적일지 결정하는 것이 먼저다. 아래를 참고해 상황에 따라 선택하면 된다.

  • 기본 원칙
    • 가독성과 빠른 생산성: 파이썬이 대부분의 초중급 예제에 가장 흔하게 사용된다. 빠르게 프로토타입을 만들고 테스트하기 쉽고, 데이터 처리나 API 연동에 강점이 있다. 초보자에게도 진입 장벽이 낮다. 파이썬은 직관적인 문법과 높은 가독성으로 초보자에게 추천됩니다.dev
    • 성능과 대규모 시스템: 자바나 C++는 대규모 백엔드나 성능 최적화가 필요한 경우에 적합하다. AI 파이프라인이나 대용량 로그 처리 같은 환경에서는 이들 언어의 정적 타입과 최적화 특성이 이점이 된다. Java는 플랫폼 독립적이며, 대규모 시스템 개발에 적합합니다.jdcyber.tistory
    • 웹 대시보드 및 간단한 UI: 스트림릿(파이썬 라이브러리)을 활용한 대시보드는 파이썬으로 구현하는 것이 가장 일반적이다. 따라서 대시보드 예시를 보고 바로 따라하기 쉽다. 스트림릿은 파이썬으로 빠르게 웹 대시보드를 만들 수 있는 라이브러리입니다.reddit
    • 모바일/특정 플랫폼 개발: 모바일 앱 연동까지 염두에 둘 경우 Kotlin/Swift처럼 플랫폼 특화 언어가 도움이 될 수 있다. 하지만 자동화 트레이딩의 핵심 로직은 보통 서버 사이드에서 동작하므로, 이 경우에도 파이썬이 여전히 강력한 선택이다. Kotlin은 Android 개발에 최적화된 언어로, Java의 대안으로 자리잡고 있습니다.hanghae99.spartaclub
  • 권장 시나리오별 제안
    • 빠른 프로토타입 + 데이터 분석/AI 연동 중심: 파이썬으로 시작
      • 예시: 멀티타임프레임 데이터 수집, AI 프롬트 구성, JSON 응답 파싱, SQLite 저장, Streamlit 대시보드
    • 안정적인 엔터프라이즈 규모의 운영 환경/성능 최적화가 필요할 때: 자바 또는 타입스크립트 기반 서버 또는 서비스로 마이그레이션 고려
      • 예시: 백엔드 서비스의 주요 로직을 JVM 기반으로 이식하고, 고성능 큐와 분산처리를 도입
    • 프런트엔드 중심의 대시보드가 중요하고, 빠르게 웹으로 공유하고 싶을 때: 파이썬(스트림릿) + 간단한 REST API 조합이 일반적
  • 실행 예시의 언어 선택에 따른 간단 가이드
    • 멀티타임프레임 데이터 수집 + AI 판단 로직: 파이썬
    • 데이터베이스 저장 및 간단한 스키마 관리: 파이썬(또는 자바) 중 선택
    • 대시보드 구성: 파이썬 스트림릿이 가장 직관적
    • 클라우드 배포 스크립트(인프라 자동화): 파이썬 스크립트가 빠르게 샘플링 가능, 인프라 자동화에 익숙하면 Terraform/Ansible로도 가능
  • 작은 의사결정 포인트
    • “처음 배우는 사람에게 가장 접근하기 쉬운 언어가 무엇인가?” → 파이썬
    • “나중에 성능 이슈가 생길 가능성은 어느 정도인가?” → 핵심 로직은 파이썬으로 시작하고, 병목 부위를 필요 시 더 빠른 언어로 모듈화하는 전략
    • “데이터 과학/AI 연동이 핵심이라면 어떤 언어가 더 편한가?” → 파이썬이 기본
    • “타깃 플랫폼이 모바일/웹 중심이라면 어떤 언어가 적합한가?” → 프런트엔드/백엔드에 따라 다르지만, 서버 사이드의 핵심은 파이썬으로 유지하고 필요시 다른 언어를 보조로 활용
  • 실전 적용 팁
    • 먼저 파이썬으로 MVP를 구성하고, 멀티타임프레임 데이터 핸들링과 시스템 프롯트를 테스트한다.
    • 이후 대시보드와 DB 로직을 확장하며 필요한 경우 타입 힌트를 추가해 안정성을 높인다.
    • 최종 배포층은 AWS 등 클라우드 환경에서 파이프라인을 재현 가능하도록 도구를 표준화한다.

원하시는 톤이나 대상에 맞춰 구체적인 코드 샘플을 바로 드리려면, 다음 정보를 알려주면 바로 맞춤 예시를 작성하겠다.

  • 목표 플랫폼: 로컬 개발용(노트북)인지, 서버/클라우드 배포용인지
  • 선호 언어: 파이썬 우선인지, 아니면 자바/JS/다른 언어를 선호하는지
  • 예시 코드의 길이 선호: 짧은 핵심 예시 1개, 아니면 전체 워크플로우를 포함한 긴 예시

원하는 방향을 알려주면 즉시 구체적인 실행 용 코드 스니펫, 시스템 프롯트 샘플, 대시보드 구성 예시를 제공하겠다.

 

 
 
 
어떤 프로젝트에 맞춘 예시 코드가 필요한가?
웹 vs 모바일 중 어느 플랫폼용 예시 코드
특정 프레임워크에 맞춘 예시 코드
예시 코드의 난이도는 어느 수준
예시 코드의 언어별 성능 차이를 비교
반응형
LIST