본문 바로가기

코딩 공부/python25

ChatGPT와 함께 커버드 콜 전략 자동실행 알고리즘 짜기 (2) 저번에 ChatGPT를 이용해서 옵션 HV(역사적 변동성)을 구해보았습니다. 이번에는 이를 이용해, 변동성을 포함한 변수들을 구해 적용해보겠습니다. 저번에 AI가 만들어준 코드를 수정하면서 한줄씩 알아봅시다. import pandas as pd import numpy as np import ccxt #필요한 모듈 끌어오기 # Initialize the Binance exchange object binance = ccxt.binance({ 'rateLimit': 365, 'enableRateLimit': True, }) #바이낸스 객체 설정하기(데이터 일수는 365일치로) # 비트코인 일단위 가격 데이터 가져오기 ohlcv = binance.fetch_ohlcv('BTC/USDT', timeframe='1.. 2023. 1. 24.
ChatGPT와 함께 커버드 콜 전략 자동실행 알고리즘 짜기 엄청 오랜만에 글을 써봅니다. 그동안 다른일이 바빠서 글을 못썼네요. 틈틈이 그동안 진행한 프로젝트를 소개해보려 합니다. 그동안 한 것 (ssh 접속키를 잃어버려서 시작화면 캡쳐본만 남긴채 장렬히 전사한 내 첫 서버.. ) 그동안 비트코인 매매전략을 짜고, 백테스팅하고, 괜찮은 전략을 클라우드 컴퓨터에 올려 24시간 테스트 해봤습니다. 결론적으론 지속적으로 수익을 내거나, 승률이 70%를 넘는 전략은 거의 없더군요. 그래서 떠오른 생각이 "매수매도 타이밍을 찾으려하지말고 가격 변동성을 이용해서 수익 확률을 구할 수 있는 매매는 없을까?" 있었습니다. 옵션이 바로 제가 생각하던 상품이더군요. 콜옵션 매도시 일정한 수수료를 받아 자산가격 하락을 어느정도 헤징 할 수 있고 자산 가격이 상승하면 상승분의 일부를.. 2023. 1. 22.
볼린저 밴드와 현금흐름 지표를 이용해 매수, 매도 타이밍 구하기 이번에는 마리아디비에 저장한 시세 데이터로 매수, 매도 타이밍을 구해보겠습니다. 전략은 볼린저 밴드, 현금흐름지표를 이용하겠습니다. 볼린저밴드의 %B는 가격의 볼린저밴드 속 가격의 상대적 위치를 나타냅니다. 선택한 지표는 간단히 설명하겠습니다. import matplotlib.pyplot as plt import MarketDB2 mk = MarketDB2.MarketDB() df = mk.getDailyPrice('000020', '2019-10-14', '2022-02-25') df['MA20'] = df['close'].rolling(window=20).mean() # rolling 과 window 를 이용하여 몇개의 데이터로 평균을 낼지 정한다. df['stddev'] = df['close'].r.. 2022. 3. 2.
파이썬으로 효율적 투자선 그리기와 최적의 포트폴리오 찾기 이번에는 효율적인 투자선을 그리고, 그 투자선 위의 가장 효율적인 포트폴리오를 찾아보겠습니다. 일단 효율적인 투자선이 무엇인지 알아보겠습니다. 위 사진에 보이는 곡선이 '효율적 투자선'입니다. 그래프의 x, y축은 각각 리스크와 기대 수익률입니다. 이 이론을 창립하신 분은 노벨상을 받았을 정도로 복잡한 이론이지만, 간단히 말하자면 저 효율적 투자선에 가까이에 있는 포트폴리오일수록 리스크 대비 수익률이 좋다는 이론입니다. 이런 방식으로 각 포트폴리오의 리스크와 기대 수익률을 구할 수 있습니다. 계산하기 어렵습니다. '파이썬 증권데이터분석' 책을 참고하여 파이썬을 이용해 정해진 4개의 기업으로 구성된 20000개의 랜덤 자산비율 포트폴리오를 이용하여 최적의 포트폴리오를 그중에서 찾아보겠습니다. import .. 2022. 2. 28.
반응형