일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- python
- 자동매매
- Bitcoin
- backtest
- 확률
- 백트레이더
- can
- AUTOSAR
- 블록체인
- 토플 라이팅
- GeorgiaTech
- it
- 퀀트
- probability
- 토플
- 클라우드
- toefl writing
- backtrader
- 비트코인
- 백테스트
- 오토사
- 프로그래밍
- 파이썬
- 자동차sw
- 아마존 웹 서비스
- 개발자
- TOEFL
- AWS
- 암호화폐
- Cloud
- Today
- Total
목록python (34)
Leo's Garage
Numpy에서 Matrix 형태로 Data를 선언한 뒤에 목적에 맞게 Column이나 Row로 분리할 수 있다. import numpy as npdata = np.array([[1,2,3],[4,5,6],[7,8,9]])print('data is', data)x = data[:,0] # convert data column 0 to rowprint('x is', x)y = data[:,1] # convert data column 1 to rowprint('y is', y)z = data[:,2] # convert data column 2 to rowprint('z is', z)a = data[0,:] # convert data row 0 to rowprint('a is', a)print('the shape..
pathlib 모듈은 파일, 디렉토리 경로를 객체로 취급하여 조작하거나 처리가 가능하다. 편리한 기능인데, 내장된 함수가 다양하여 파일명이나 부모 디렉토리를 알아내거나, 경로의 목록을 얻어내거나, 파일을 작성하거나 삭제할 수 있다. 파일관련된 처리가 가능하다. pathlib는 python 3.4부터 추가된 모듈이며, 표준 라이브러리에 포함되어 있어서 별도 설치가 필요없다. Object 생성 import pathlib import os file = pathlib.Path('dev/config.txt') Constructor pathlib.Path() 객체를 생성할 수 있다. 인수로는 경로의 문자열을 지정할 수 있고, 상대경로 혹은 절대경로든 상관없이 가능하다. file.is_file() file.is_di..
오늘은 KDJ index를 사용해서 전략을 만들어보도록 하겠다. 우선 KDJ index에 대해서 먼저 설명하겠다. KDJ index는 주가 트랜드의 변화를 예측하고 분석하는데 사용되는 지표이며 다른 말로는 랜덤 지표라고도 알려져 있다. 이 지표는 시장의 단기 트랜드를 분석하는데 아주 자주 사용된다. KDJ 지표는 스토케스틱 오실레이터 지표의 파생형 지표인데 기존 지표에 J라인이 추가된 점이 차이점이다. % K, %D라인 값은 주식이 과매수 (80 이상), 과매도 (20 미만) 인지 나타낸다. % J 라인 값은 상승과 하락이 전환되는 시점에 0 혹은 100으로 가는 성질이 있다. 따라서 K 라인과 D 라인의 상대적 위치 (떨어져 있는지, 모였는지), 기울기 그리고 RSI 지표 등을 같이 살피면 고점, 저점..
오늘은 일목균형표를 적용한 전략을 만들어 보겠다. 일목균형표의 영어 이름은 Ichi moku로 이름에서 알 수 있다시피 일본에서 만들어진 지표이다. 뜻은 시장의 '균형'을 '일목요연'하게 나타내는 '표'이다. 일목 균형표는 아래의 공식으로 계산한다. 전환선 = (최근 9일간 최고가 + 최근 9일간 최저가) / 2 기준선 = (최근 26일간 최고가 + 최근 26일간 최저가) / 2 선행 스팬1 = (당일의 기준선 값 + 당일의 전환선 값) / 2 선행 스팬2 = (최근 52일간 최고가 + 최근 52일간 최저가) / 2 후행 스팬 = 현재의 가격을 26일 뒤 쪽에 표시 구름대 = 선행 스팬1과 선행 스팬2 사이를 칠하면 띠를 형성하게 되는데, 이것을 구름대라고 한다. 자세한 해석은 아래의 링크를 참조하자. ..
이번에는 WMA라는 지표를 활용해서 전략을 만들어 보고자 한다. WMA (Weighted moving average) - 가중 이동평균 SMA(단순 이동 평균)은 많이 들어봤을 것이다. WMA는 단순히 이동평균을 구하는 것이 아니라 최근의 주가에 가중치를 두어서 계산하는 방식을 취한다. 공식은 아래와 같다. 사실 이 방식은 널리 쓰이는 방식은 아니다. 가장 최근의 일자에 가장 큰 가중치를 두기 때문에 SMA에 비해서 최근 시장 분위기를 잘 반영한다는 장점이 있다. SMA와 마찬가지로 그 기간의 가격을 대표하는 값이며 이동평균 안에 그 가격의 움직임을 포함하고 있다. 해당 전략을 코드에 적용하면 아래와 같다. import backtrader as bt import yfinance as yf class My..
이번에는 이전 포스팅에 이어서 S&P500 index를 활용하여 전략을 짜보겠다. 이전 나스닥 활용과 마찬가지로 S&P500의 50일 평균선을 기준으로 금일 S&P500 종가와 비교하여 매수 매도 하는 전략이다. 우선 코드는 아래와 같다. import backtrader as bt import yfinance as yf class MyStrategy(bt.Strategy): def __init__(self): self.sp500 = self.datas[0] self.stock = self.datas[1] self.order = None self.sp500_sma = bt.indicators.SMA(self.sp500.close, period=50) def next(self): if self.order: ..
오늘은 index를 임의로 만들어서 전략에 녹여보려고 한다. 녹일 index는 바로 Nasdaq100이다. 전략은 다음과 같다. Nasdaq100의 종가가 Nasdaq100 50일 평균선 보다 올라가면 매수하고 떨어지면 매도한다. 코드는 아래와 같다. import backtrader as bt import yfinance as yf class MyStrategy(bt.Strategy): def __init__(self): self.nasdaq = self.datas[0] self.stock = self.datas[1] self.order = None self.nasdaq_sma = bt.indicators.SMA(self.nasdaq.close, period=50) def next(self): if se..
오늘은 아주 간단한 전략을 만들어보았다. 바로 그냥 단순히 종가를 비교해서 전날보다 오늘 높으면 사고, 전날보다 낮으면 파는 아주 아주 심플한 전략이다. 우선 코드부터 확인해보자 import backtrader as bt import yfinance as yf class MyStrategy(bt.Strategy): def __init__(self): self.dataclose = self.datas[0].close self.order = None def next(self): if self.order: return # if an order is pending, don't do anything if not self.position: # if not in the market if self.dataclose[0..
오늘은 새로운 BackTesting Framework인 BackTesting.py를 이용하여 간단한 SMA cross 전략을 만들어보겠다. https://kernc.github.io/backtesting.py/ Backtesting.py - Backtest trading strategies in Python Does it seem like you had missed getting rich during the recent crypto craze? Fret not, the international financial markets continue their move rightwards every day. You still have your chance. But successful traders all agre..
이번에는 여러 지표를 섞어서 매매 전략을 만들어보도록 하겠다. 이번 전략에는 기본적으로 SMA(Simple Moving Average)와 MACD(Moving Average Convergence Divergence) 그리고 RSI(Relative Strength Index) 이 세 가지 지표를 섞어서 전략을 만들어보려고 한다. 각 지표에 대한 설명 및 동작에 대한 내용은 아래 포스팅들을 참조하기 바란다. https://downyk.tistory.com/66 BackTrader - MACD 활용 이번에는 MACD를 활용해서 전략을 작성해보겠다. MACD(Moving Average Convergence Divergence)는 장단기 이동평균선(SMA) 차이를 이용해서 매매신호를 포착하는 기법이다. MACD의..