ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python으로 하는 Quant 투자] 1.API로 Upbit 상장 코인 가격 가져와 DataBase에 저장하기 (1부 - Python에서 Sqlite3 사용하기)
    Data Science/Quant Lab 2022. 2. 10. 22:21
    반응형

    Jay가 현재 푹 빠져있는 '퀀트 투자'

    ( 전략 만들고 백테스트해보는 재미에 시간 가는 줄 모른다 )

    이 퀀트 투자를 공부하며 알게 된 점, 전략, 방법론적인 내용들을 앞으로 연재해보려 한다.

     

     첫 번째 시간 

     

    "API로 Upbit 상장 코인 가격 가져와 DataBase에 저장하기 (1부 Python에서 Sqlite3 사용하기)"

     

     

    퀀트 전략을 세우는 데에 있어 백테스트는 필수 요소이다.

    여기서 백테스트란 과거로 시간을 돌려 내가 세운 투자 전략대로 투자했다면 수익, 손실, 손익비 등등이 얼마나 될지

    시뮬레이션을 해보는 과정이라 할 수 있다.

     

    백테스트를 할 수 있는 방법은 여러 가지가 있을 수 있겠지만

    지금 막 생각나는 방법은 아래 3가지 정도이다.

     

    1. 세운 전략대로 과거 차트로 돌아가 손으로 직접 한 땀 한 땀 테스트해본다.

    2. Tradingview를 활용한 백테스트

    3. 과거 차트 데이터를 수집해 직접 코딩해서 백테스트 

     

    Jay는 마지막 3번 직접 과거 차트 데이터를 수집, 전략을 python으로 코딩하여 백테스트를 해보려 한다.

     

    해서 오늘은 파이썬을 활용하여 Upbit에 상장된 코인들의 가격을 저장할 Database Sqlite3에 대하여 필요한 부분만 간단하게 알아보자!!!!

     

     

    다음 예제를 통해 Upbit에 상장된 코인 ticker를 저장할 COIN_TABLE이란 테이블을

    python과 Sqlite3를 활용하여 만들어보자(Create)

    # sqlite3를 사용하기 위해 import
    import sqlite3 
    
    # sqlite3 database에 연결
    conn = sqlite3.connect("/upBot.db", isolation_level=None)
    
    # 커서 획득
    c = conn.cursor()
    
    # 테이블 생성 쿼리문
    coin_table =  "CREATE TABLE IF NOT EXISTS COIN_TABLE" \
                            "(TICKER TEXT, COIN_NAME TEXT ) "
    # 쿼리 실행 (테이블 생성)
    c.execute(coin_table)
     
    # DB 연결 종료
    c.close()

     

     

    다음은 위에서 만든 테이블에 데이터를 넣어보자(Insert)!!!!!!!!

    # sqlite3를 사용하기 위해 import
    import sqlite3 
    
    # sqlite3 database에 연결
    conn = sqlite3.connect("/upBot.db", isolation_level=None)
    
    # 커서 획득
    c = conn.cursor()
    
    # 테이블 생성 쿼리문
    coin_table =  "INSERT INTO UPBOT_ALL_COINS (TICKER , COIN_NAME ) " \
                  "VALUES " \
                  "('BTC_KRW' , '비트코인') " 
    
    # 쿼리 실행 (데이터 insert)
    c.execute(coin_table)
    
    # DB 연결 종료
    c.close()

     

     

    다음은 COIN_TABLE에 저장한 데이터를 출력해보자(select).

     

    # sqlite3를 사용하기 위해 import
    import sqlite3 
    
    # sqlite3 database에 연결
    conn = sqlite3.connect("/upBot.db", isolation_level=None)
    
    # 커서 획득
    c = conn.cursor()
    
    # 쿼리 실행 
    c.execute("SELECT * FROM COIN_TABLE ")
    
    # 쿼리 결과 fetch
    coin_data = c.fetchall()
    
    # 결과 print
    for coin in coin_data:
    	prin(coin)
    
    # DB 연결 종료
    c.close()

     

     여기까지가 파이썬으로 백테스트를 하기 위해 코인 데이터를 수집할 때 알아야 할 가장 기본적인 Sqlite3 사용법이다.

     

    오늘은 여기까지 하고 내일은 Upbit에 상장된 모든 코인 데이터를 Upbit에서 제공하는 Api를 활용해 sqlite3에 저장해 볼 것이다!!!!

     

     

     

     

     

     

     

     

     

     

     

    반응형
Designed by Tistory.