quanstaxx의 등록된 링크

 quanstaxx로 등록된 네이버 블로그 포스트 수는 169건입니다.

데이터를 입력받아 메모장에 저장하기 [내부링크]

import sys name = input('이름 : ') age = input('나이 : ') phone = input('폰 번호 : ' ) data = [name, age, phone] max_index = len(data) output_file = sys.argv[1] contact = open('contact.txt','a') for i in range(len(data)): if i < (max_index-1): contact.write(data[i]+'\t') else: contact.write(data[i]+'\n') contact.close() 1) 위의 함수를 '******.py'로 저장 2) cmd실행 3) cmd에 python *****.py 'contatc.txt' 입력 4) contact.txt 확인

python 32bit로 변환하는 방법 [내부링크]

1) cmd에 conda 입력 - 알수 없는 명령어라고 나오면 anaconda프롬포트를 실행하여 conda 입력 2) set CONDA_FORCE_32BIT=1 입력 3) conda create -n python_32BIT python=3.7 anaconda

파이썬을 32비트로 변환하고 증권사 api따오자! [내부링크]

파이썬을 통해 증권사가 제공하는 api를 받아오려면 설치되어 있는 파이썬이 32bit 이어야 한다. 하지만 대부분의 컴퓨터가 64bit 이고, 파이썬 홈페이지에 있는 다운로드 파일들은 모두 64비트이다. 64bit 파이썬으로 증권사 API에 접속하면 무조건!! 오류가 발생한다. 이를 해결하기 위한 방법은 32비트 파이썬을 설치하던가, 아니면 64비트 파이썬은 32비트로 바꾸는 것이다. 앞서 언급한것처럼 파이썬 홈페이지에 있는 다운로드 파일은 모두 64비트이기 때문에 첫번째 방법은 힘들기 때문에 두번째 방법을 사용해야 한다. 두번째 방법은 굉장히 간단하다 1. CMD 실행 2. CMD에 CONDA 입력 * 만약 cmd에서 conda를 입력하였는데 오류가 발생한다면 cmd를 끄고, anaconda prompt를 실행하여 conda를 입력한다. conda를 입력하고 나서 밑에 뭔가 주루룩 나오면 된것이다 3. cmd에 set CONDA_FORCE_32BIT=1 입력 4. conda cre

코스피 200선물 로우데이터를 딕셔너리로 정리 [내부링크]

요 데이터를 딕셔너리로 정리했다 with open('e:/future.txt','r') as f: data = f.read() data = data.split('\n') date = [] close = [] for item in data: item = item.split('\t') date.append(item[0]) close.append(item[1]) future = {} for i,k in enumerate(date): val = close[i] future[k] = val

종목 주가데이터 가져오기(싸이보스) [내부링크]

from pandas import DataFrame import win32com.client import win32com def substockChart(Code,Term): stockChart = win32com.client.Dispatch('CpSysDib.StockChart') stockChart.SetInputValue(0,Code) stockChart.SetInputValue(1,ord('2')) stockChart.SetInputValue(4,Term) stockChart.SetInputValue(5,[0,2,3,4,5]) stockChart.SetInputValue(6,ord('D')) stockChart.BlockRequest() num = stockChart.GetHeaderValue(3) data = [] for i in range(num): tempData ={} tempData['Date'] = stockChart.GetDataValue(0,i) tempData

나스닥 선물 트레이딩 전략 [내부링크]

나스닥 선물 지수가 가진 특징은 명확하다. 그것은 바로 상승추세가 굉장히 강하고 오래 이어진다는 것이다. 그래서 나스닥 지수에서는 매수 추세추종 전략은 잘 먹히는 반면 매도 추세추종 전략은 안좋은 성과를 보인다. 이러한 나스닥 지수의 특성을 반영하여 매수 포지션 트레이딩 전략은 포지션을 최대한 길게 보유하도록 청산로직을 구성하고, 매도 포지션 트레이딩 전략은 타임프레임을 줄여서 포지션 보유기간을 짧게 하는 청산로직을 구성하였다 백테스팅 결과값은 다음과 같다 1. 나스닥 매수 트레이딩 성과 - 타임프레임 : 5분봉 - 수수료 : 0.002% * 2 - 슬리피지 : 0.5pt * 2 2. 매도포지션 트레이딩 - 타임프레임 : 1분봉 - 수수료 : 0.002% * 2 - 슬리피지 : 0.5pt * 2 매도포지션은 타임프레임을 늘릴수록 성과가 안 좋아진다. 지금 개발한 나스닥 선물 트레이딩 전략은 낮은 초기에 적은 자본을 가지고 운영할 계획이다. 이에 트레이딩 1회당 감내할 수 있는 변동폭

파이썬 다시 시작! [내부링크]

이번주 내내 코딩공장에서 열심히 파이썬을 공부했다. from PyQt5.QAxContainer import * from PyQt5.QtCore import * from config.errorCode import * class Kiwoom(QAxWidget): def __init__(self): super().__init__() print('Kiwoom 클래스 입니다') ########eventloop 모음### self.login_event_loop = None self.detail_account_info_event_loop = None self.detail_account_info_event_loop_2 = None ######################## #####변수모음 self.account_num = None ######################## #########계좌관련변수 self.use_money = 0 self.use_money_percent = 0.5 ###

피봇을 활용한 트레이딩 전략 [내부링크]

예전에 코스피에 피봇을 적용하면 어떨까,,,? 라는 생각을 해보고 전략을 조금씩 만들고 있는중 인베스트라에 있는 피봇 전략을 참고해서 조금씩 수정 보완하는중 인베스트라는 피봇라인을 총 7개를 사용하는데 괜찮은거 같음, 이렇게 해야 진입/청산 로직을 세분화 할 수 있고 베팅사이즈를 섬세하게 조절할 수 있기 때문 와꾸 나오네! 요번주말까지 만들어보자

가상화폐 트레이딩 시작 [내부링크]

오늘부터 가상화폐 트레이딩을 시작한다 예스트레이더코인을 활용하여 자동으로 트레이딩을 수행하며 주로 거래하는 가상화폐는 비트코인과 이더리움 그리고 거래량이 많은 알트코인 2~3개 정도이다. 우선 가상화폐 트레이딩 경험이 전혀 없으니 비트코인과 이더리움에 각각 만원씩 투자하여 조금씩 매매경험을 쌓고 트레이딩 전략을 수정 보완해나갈 예정이다. 약 한달정도는 적은 금액으로 돌려보고 전략이 어느정도 안정되었다 싶으면 증액할 계획이다 백테스팅 결과는 아래와 같다. 분봉 데이터가 별로 없어서 백테스팅 결과값에 대한 신뢰도는 낮지만 적어도 깡통을 차게 만드는 전략은 아니라고 생각한다. 수수료 : 0.1%, 슬리피지 : 5틱 1. 이더리움 5분봉 2. 비트코인 5분봉 자동 매매 시스템, 파란선은 진입가 얼른 파이썬 능력치를 높여서 비트파이낸스로 가서 선물거래를 하고싶다 2021-02-14 진입 전략을 조금 수정하였다.

마이크로 다우 선물 포지션 백테스팅 [내부링크]

현재 마이크로 나스닥을 돌리고 있는데 다우까지 돌릴 예정 예전에 만들어놓은 시스템인데 수정보완중 진입/청산 전략은 나스닥과 거의 비슷하며 Risk Point를 수정함 백테스팅 상 1회 트레이딩 Risk를 높이면 손익이 올라가는 추세를 보임, 차트를 보면 굉장히 불규칙한 흐름을 보여서 리스크와 손익간의 상관관계가 낮아보이나 추세선을 그려보면 손익그래프와 비슷한 패턴을 보이고 있음 수수료 : 2틱 슬리피지 : 4틱

다우선물 시스템 개선 [내부링크]

전략의 특징 1. 래리윌리엄스 변동성 돌파전략을 활용하여 초기진입 2. 트레이더가 감내할 수 있는 Risk를 외부 변수로 둠 3. Risk 값은 (전일 고가 - 전일 저가) * k 값이 400 이상일 떄 높아짐, 즉 비 이성적으로 시장의 변동성이 확대되었을 때 그 상황에 맞춰 Risk값을 올려줘야함, 그렇지 않으면 휩소에 엄청나게 털림 4. 청산로직은 추적청산전략을 사용 5. 금요일에는 종가청산, 월~ 목에는 종가청산 없음

내가 가고 싶고 향후 나아가야 할 방향을 명확하게 제시한 글 [내부링크]

지렸다리 ,,, https://brunch.co.kr/@qraft/10 AI 자산운용 보고서 (1) 자산운용의 혁신은 외부로 잘 드러나지 않는다. | 운용의 혁신은 외부로 잘 드러나지 않는다. 자산운용의 수요자인 투자자(고객)는 자산운용사의 브랜드와 수익률에는 관심이 높지만, 실제 자산이 운용되는 방식에 대해서는 상대적으로 무관심하다. 그리고 자산운용은 상대평가/제로썸의 성격을 지니기 때문에 자산운용업자는 힘겹게 이룬 혁신을 혼자 오래 독점하려고 한다. 그래서, 자산운용의 혁신은 외부로 잘 드러나지 않 brunch.co.kr

빗코 마진거래용 레버리지에 따라 청산로직 변경 [내부링크]

마진은 5,10,20배 세개를 사용한다 5배 = 전 거래가 손실일 떄 10배 = 변동성이 좀 있을때 20배 = 변동성이 낮을때 레버리지가 20배일 경우 분할매도(비중 절반축소) 레버리지가 10배, 5배 일 경우 분할매도는 없음 매도전략도 만들어야지

바이비트 시세 데이터를 판다스로 전환 [내부링크]

import ccxt import pandas as pd bybit = ccxt.bybit() df = bybit.fetch_ohlcv('BTC/USDT',timeframe='1m', since=None, limit=200) columns = ['time', 'open', 'high', 'low', 'close', 'vol'] # 열 이름 주기 df = pd.DataFrame(df,columns=columns) # 판다스로 변환 df.index = df['time'] # 인덱스에 'time' del df['time'] # 'time' 열을 제거함 print(df)

matplotlib.pyplot as plt 로 차트 그리기 [내부링크]

import pyupbit import matplotlib.pyplot as plt ticker = 'KRW-XRP' df = pyupbit.get_ohlcv(ticker) plt.plot(df['close']) plt.plot(df['open']) plt.show()

시가매수 종가매도 백테스팅 로직 [내부링크]

import pandas as pd import numpy as np import time stock_list = ['대한뉴팜','파마리서치','위지윅스튜디오','민앤지','포인트엔지니어링','삼성전자'] df = pd.read_excel('',index_col=0) # print(df.iloc[2]) # print(df.iloc[0,0]) # 시가 # print(df.iloc[0,1]) # 고가 # print(df.iloc[0,2]) # 저가 # print(df.iloc[0,3]) # 종가 price_data = [] acc_ror = 1 for i in range(len(df.index)): if i <= 1: continue open_1td = df.iloc[i-1,0] low_2td = df.iloc[i-2,2] low_1td = df.iloc[i-1,2] close_2td = df.iloc[i-2,3] close_1td = df.iloc[i-1,3] # print('1일전

데이터프레임 다중시트 엑셀 파일 만들기 [내부링크]

import pandas as pd import numpy as np import time from pykrx import stock import datetime import pprint import pandas as pd from pandas import ExcelWriter now = datetime.datetime.now() today = now.strftime('%Y%m%d') start_date = '20191231' stock_list = ['060310', '054620', '265520', '211270', '035760', '051500'] big_data = {} for stock_code in stock_list: df = stock.get_market_ohlcv_by_date(start_date,today,stock_code) stock_name = stock.get_market_ticker_name(stock_code) # print(df.ilog[2]) #

pykrx로 종목데이터 저장 [내부링크]

from pykrx import stock import pandas as pd from pandas import ExcelWriter import time code_list = ['000660'] start_date = '20180101' end_date = '20210501' all_data = {} for code in code_list: df = stock.get_market_ohlcv_by_date(start_date,end_date,code) stock_name = stock.get_market_ticker_name(code) print(df) all_data[stock_name] = df with pd.ExcelWriter('%s.xlsx'%stock_name) as writer: for key,value in all_data.items(): value.to_excel(writer,sheet_name=key)

pykrx로 전종목 코드 뽑고 종목명 저장 [내부링크]

from pykrx import stock import pandas as pd stock_list = stock.get_market_ticker_list(market='ALL') code_name = [] for code in stock_list: stock_name = stock.get_market_ticker_name(code) data = [code,stock_name] code_name.append(data) print(stock_name,code) df = pd.DataFrame(code_name,columns=['종목코드','종목명']) df = df.sort_values(by='종목코드',ascending=True) df.set_index(df['종목코드']) df.to_excel('종목코드.xlsx') # df = pd.read_excel('종목코드.xlsx',index_col=0) # # # print(df.index) # data = [] # for code in

5일 리밸런싱 수정중 [내부링크]

from pykrx import stock import pandas as pd from pandas import ExcelWriter import time code_list = ['000660','005930','091990','068760'] for code in ['000660']: stock_name = stock.get_market_ticker_name(code) df = pd.read_excel('C:/Users/신용환/PycharmProjects/KRX/시총상위 주가데이터.xlsx',sheet_name=stock_name) del df['거래량'] df['cpd_5td_close'] = df['종가'].shift(5) df['cpd_1td_close'] = df['종가'].shift(1) df['cpd_5td_open'] = df['시가'].shift(5) df['exit'] = df['종가'].shift(-4)*(1-0.0028) df['profit'] = df['exi

리밸런싱 데이터 [내부링크]

import pandas as pd from pykrx import stock import time code_name_list = pd.read_excel('종목코드.xlsx',index_col=0) code_name = 'SK하이닉스' start_date = '20180101' end_date = '20210415' rebal_term = 5 code_num = code_name_list.loc[code_name][1] # df = stock.get_market_ohlcv_by_date(start_date,end_date,code_num) # df.to_excel('%s.xlsx' % code_name) df = pd.read_excel('%s.xlsx' % code_name) df['cpd_5td_close'] = df['종가'].shift(rebal_term) df['cpd_1td_close'] = df['종가'].shift(1) df['cpd_5td_open'] = df['시

조건만족 + 리밸런싱 기간 조절 진입/청산 [내부링크]

import pandas as pd from pykrx import stock import time code_name_list = pd.read_excel('종목코드.xlsx',index_col=0) code_name = '위지윅스튜디오' start_date = '20170728' end_date = '20210510' rebal_term = 5 code_num = code_name_list.loc[code_name][1] df = stock.get_market_ohlcv_by_date(start_date,end_date,code_num) df.to_excel('%s.xlsx' % code_name) df = pd.read_excel('%s.xlsx' % code_name) df['cpd_5td_close'] = df['종가'].shift(rebal_term) df['cpd_1td_close'] = df['종가'].shift(1) df['cpd_5td_open'] = df['시가']

opendartreader 를 활용하여 재무데이터 가져오기 [내부링크]

import pandas as pd import OpenDartReader import csv import openpyxl from pandas import ExcelWriter date = 2018 code_name = '삼성전자' api_key = '' dart = OpenDartReader(api_key) df = dart.finstate_all('005930', str(date)) df = pd.DataFrame(df) df.to_excel('.xlsx') df = pd.read_excel('.xlsx',index_col=0) df = df.drop(['rcept_no','reprt_code','corp_code','sj_div','account_id','account_detail','ord','thstrm_nm','frmtrm_nm','bfefrmtrm_nm','thstrm_add_amount'],axis='columns') df.columns = ['연도','재무제표','

pykrx 에서 주가데이터를 받아서 mysql로 데이터저장 [내부링크]

import pandas as pd from sqlalchemy import create_engine import pymysql from pykrx import stock pymysql.install_as_MySQLdb() import string start = '20100101' end = '20210514' all_code_list = stock.get_market_ticker_list(market='ALL') engine = create_engine("mysql+mysqldb://이름:비밀번호@호스트/데이터베이스", encoding='utf-8') for code in all_code_list: stock_name = stock.get_market_ticker_name(code) if '스팩' in stock_name: continue df = stock.get_market_ohlcv_by_date(start,end,code) try: conn = engine.connect()

mysql 에서 주가데이터 import [내부링크]

import pymysql import xlrd import pandas as pd host = '' user = '' password = '' db = '' chartset = 'utf8' conn = pymysql.connect(host= host, user=user,password=password,db=db,charset = chartset) price_data = [] try: curs = conn.cursor() sql = 'SELECT * from 삼성전자' curs.execute(sql) result = curs.fetchall() finally: conn.close() columns = ['date','open','high','low','close','volume'] result = pd.DataFrame(result,columns=columns) result.set_index('date',inplace=True)

미국 데이터 볼 수 있는곳 [내부링크]

https://lazyquant.tistory.com/27 미국 주식 데이터 수집 및 활용 사이트 추천!(Investing.com, finviz, iex, stockrow) 안녕하세요, 오늘은 미국 주식 데이터를 수집하고 활용할 수 있는 사이트를 추천해드리려고 합니다. 코로나로 인한 폭락장에서 미국 주식을 약간 매수했었습니다. 한동안 오른 후 전체적으로 미미한 수익률을 내.. lazyquant.tistory.com

Opendart github [내부링크]

https://github.com/FinanceData/OpenDartReader#readme FinanceData/OpenDartReader Open DART Reader. Contribute to FinanceData/OpenDartReader development by creating an account on GitHub. github.com

재무데이터 10년 이상 주는곳 어딨누 [내부링크]

import pandas as pd import OpenDartReader import numpy as np date = 2015 date2 = date - 3 date3 = date2 - 3 date4 = date3 - 3 year_list = [date,date2,date3,date4] api_key = '' dart = OpenDartReader(api_key) print(date) df = dart.finstate('005930', str(date)) df = pd.DataFrame(df) print(df) # df.to_excel('df.xlsx') # df = df.drop(['corp_code','rcept_no','reprt_code','bsns_year','sj_div','sj_nm','account_detail','thstrm_nm','frmtrm_nm','bfefrmtrm_nm','ord','thstrm_add_amount'],axis='columns') # df

1,2분기 재무데이터 가져오기 [내부링크]

from sqlalchemy import create_engine import pymysql import pandas as pd import OpenDartReader from pykrx import stock import string import time import sys import numpy as np api_key = '' dart = OpenDartReader(api_key) code = '214180' year = '2020' def first_second_quarter(code,year): df = dart.finstate(code,year,reprt_code = 11012) # 1분기 : 11013, 반기보고서 : 11012, 3분기 : 11014, 사업보고서 : 11011 df = pd.DataFrame(df) drop_columns = ['rcept_no','reprt_code','bsns_year','corp_code','stock_code','fs_div','

2015년부터 연간 재무데이터 생성 [내부링크]

from sqlalchemy import create_engine import pymysql import pandas as pd import OpenDartReader from pykrx import stock import string df = pd.read_excel('우선주.xlsx') upper_code = df['Symbol'] upper_all_code = [] for code in upper_code: upper_all_code.append(code[1:]) pymysql.install_as_MySQLdb() engine = create_engine("mysql+mysqldb://root:[email protected]/재무데이터", encoding='utf-8') date = 2020 date2 = date - 3 date3 = date2 - 3 all_code_name = stock.get_market_ticker_list(market='ALL') code_list = se

분기 재무데이터 받기 모듈 [내부링크]

만드느라 힘들었다 ;; 첨부파일 우선주.xlsx 파일 다운로드 from sqlalchemy import create_engine import pymysql import pandas as pd import OpenDartReader pymysql.install_as_MySQLdb() engine = create_engine("mysql+mysqldb://name입력:비밀번호입력@host입력/db명입력", encoding='utf-8') api_key = '' dart = OpenDartReader(api_key) def first_second_quarter(code,year): df = dart.finstate(code,year,reprt_code = 11012) # 1분기 : 11013, 반기보고서 : 11012, 3분기 : 11014, 사업보고서 : 11011 df = pd.DataFrame(df) if len(df.index) == 0: print(year,'1,2분기 재무데이터

[공유] [Python] SQLite3 / 원격 DB(MariaDB)/데이터베이스 실습 [내부링크]

Anything [공유] [Python] SQLite3 / 원격 DB(MariaDB)/데이터베이스 실습 Quantstaxx 2021. 5. 25. 1:48 이웃추가 본문 기타 기능 출처 [Python] SQLite3 / 원격 DB(MariaDB)/데이터베이스 실습 by 냠냠코드 Python SQLite3 / 원격 DBMariaDB/데이터베이스 실습 1. SQLite3 : python에 기본으로 설치되어 있다. 개인용 데이터베이스 - 굉장히 가볍다는 특징이 있다... blog.naver.com 스크랩된 글은 재스크랩이 불가능합니다.

빗코 매수전략 [내부링크]

INPUT : Buy_trail(10),p1(5),p2(20),p3(60); var : top(0),bot(0),fast(0),mid(0),slow(0),mult(0),recnt(0),width_sum(0),i(0),bet(0); fast = ma(c,p1); mid = ma(c,p2); slow = ma(c,p3); width_sum = 0; for i = 1 to 3 begin width_sum = width_sum + (h[i] - l[i])/medianprice[i]; # 밴드폭 end; ##### 레버리지 조절 ##### if positionprofit(1) < 0 then bet = 5; # 최근 거래에서 손실 발생시 레버리지 5배 else if width_sum * 100 <= 0.5 then bet = 30; # 변동성이 0.5 이하면 레버레지 30배 else if width_sum * 100 <= 1 then bet = 20; # 변동성이 1 이하면 레버리지 20배

빗코 매도전략 [내부링크]

input : p1(5),p2(20),p3(60),trail(100); var : fast(0),mid(0),slow(0),p(0),q(0),i(0),Short_entry(0),mult(0),width_sum(0),bet(0); fast = ma(c,p1); mid = ma(c,p2); slow = ma(c,p3); var : death(falsE); death = fast < mid and mid < slow; ##### 레버리지 조절 ##### /*if positionprofit(1) < 0 then bet = 5; # 최근 거래에서 손실 발생시 레버리지 5배 else */if width_sum * 100 <= 0.5 then bet = 30; # 변동성이 0.5 이하면 레버레지 30배 else if width_sum * 100 <= 1 then bet = 20; # 변동성이 1 이하면 레버리지 20배 else bet = 10; # 그 외에 레버리지는 최소 10배 ##### co

알고리즘 트레이딩 관련 사이트 [내부링크]

https://www.reddit.com/r/algotrading/comments/nterow/math_behind_leverage_and_position_sizing/ Math behind leverage and position sizing? When I look at my back test and i change the leverage, sometimes the strategy works completely, other times increasing the leverage completely... www.reddit.com https://www.kaggle.com/chumajin/optiver-realized-eda-for-starter-english-version Optiver Realized: EDA for starter(English version) Explore and run machine learning code with Kaggle Notebooks | Using da

비트코인 매수/매도전략 완성 [내부링크]

전략에 대한 설명은 나중에 ,,, 녹색선이 매수전략 남색선이 매도전략 빨간선이 두 전략 합친거

파이썬으로 RSI값 구하기 [내부링크]

from pykrx import stock import datetime import numpy as np def RSI(input, period, code): # input : RSI 변수, period = 봉갯수, code = '종목코드' period = max(200,period) end = datetime.datetime.now() start = end - datetime.timedelta(days=period) price = stock.get_market_ohlcv_by_date(fromdate=start, todate=end, ticker=code) del price['거래량'] price['Up_amt'] = np.where(price['종가'] - price['종가'].shift(1) > 0, price['종가'] - price['종가'].shift(1), 0) price['Down_amt'] = np.where(price['종가'] - price['종가'].shift(

백테스팅 툴 [내부링크]

from pykrx import stock import datetime import numpy as np import pandas as pd from dateutil.parser import parse import time import matplotlib.pyplot as plt start = '20100101' end = '20210617' df = stock.get_market_ohlcv_by_date(fromdate = start, todate = end, ticker='005930') del df['거래량'] short_ema = df['종가'].ewm(span = 12).mean() long_ema = df['종가'].ewm(span = 26).mean() macd = round(short_ema - long_ema,2) signal = macd.ewm(span =9).mean() df['macd'] = macd df['macd_osc'] = round(macd - sign

MACD 데이터 뽑기 [내부링크]

from pykrx import stock import datetime import numpy as np import pandas as pd from dateutil.parser import parse def MACD(short,long,signal,start_date,code): start_date = str(start_date) start = parse(start_date) end = datetime.datetime.now() gap = (end - start) if gap.days < short: start = end - datetime.timedelta(days = short + 1) else: start = start_date price_data = stock.get_market_ohlcv_by_date(fromdate=start, todate = end, ticker = code) del price_data['거래량'] short_ema = price_data['종가'].

DMI 만들기 [내부링크]

from pykrx import stock from dateutil.parser import parse import datetime import numpy as np def DI_PLUS(code,period = 14,start_date = datetime.datetime.now() - datetime.timedelta(days=200),end_date = datetime.datetime.now()): start = str(start_date) start = parse(start) end = str(end_date) end = parse(end) price = stock.get_market_ohlcv_by_date(fromdate = start,todate=end,ticker = code) price['truehigh'] = np.where(price.종가.shift(1) > price.고가,price.종가.shift(1),price.고가) price['truelow'] = np.w

백테스팅 툴 [내부링크]

from pykrx import stock import datetime import numpy as np import time df= stock.get_market_ohlcv_by_date(fromdate='20120227',todate=datetime.datetime.now(),ticker='005930') del df['거래량'] while True: try: entry_cond = df.종가.shift(2) < df.종가.shift(1) df['진입가'] = np.where(entry_cond, df['시가'], '') entry_date = df.index[entry_cond][0] rebal_date = df[entry_date:].index[21] entry_price = df.loc[df['진입가'] != '', '진입가'][0] for index,row in df[entry_date:].iterrows(): close = row['종가'] # close = close

코인 데이터 받아서 변동성 돌파전략 백테스팅 하기 [내부링크]

import pandas as pd import pyupbit import time import numpy as np import datetime last_date = datetime.datetime.now() df = [] while True: try: minute_price = pyupbit.get_ohlcv(ticker='KRW-BTC', interval='minute5', count=200,to=last_date) last_date = minute_price.index[0] time.sleep(0.07) df.append(minute_price) except: df = pd.concat(df) df = df.sort_index() break df = df[['open','high','low','close']] minute_data = pd.DataFrame(df) last_date = datetime.datetime.now() df = [] while True: try: da

업비트 상장 코인 일봉 및 분봉데이터 수집 및 MYSQL에 데이터 적재 [내부링크]

import pandas as pd import pyupbit import time import numpy as np import datetime from sqlalchemy import create_engine import pymysql pymysql.install_as_MySQLdb() daily_engine = create_engine("mysql+mysqldb://root:[email protected]/***일봉 DB명 입력***", encoding='utf-8',pool_size = 100000,max_overflow = 0) minute_engine = create_engine("mysql+mysqldb://root:[email protected]/***분봉 DB명 입력***", encoding='utf-8',pool_size = 100000,max_overflow = 0) ticker_list = pyupbit.get_tickers(fiat='KRW') def create_min

변동성 돌파전략 단일종목 백테스터 [내부링크]

import pandas as pd from pykrx import stock import datetime import numpy as np import time import matplotlib.pyplot as plt import math import tick def back_testing(code,date): df = stock.get_market_ohlcv_by_date(fromdate=date, todate=datetime.datetime.now(), ticker=code) df = df.reset_index() df['날짜'] = df['날짜'].dt.strftime('%Y%m%d') df = df.set_index('날짜') dayopen_1td = df['시가'].shift(1) dayhigh_1td = df['고가'].shift(1) daylow_1td = df['저가'].shift(1) dayopen = df['시가'] ##########################

호가단위 조정 함수 [내부링크]

from 백테스팅.Backtester import * import math backtest = Backtester() class Adj_hoga: def __init__(self): self.kp = backtest.universe('코스피') self.kq = backtest.universe('코스닥') def unit(self, stock_code, price): if stock_code in self.kp: # 49가 코스피 if price < 1000: hogaUnit = 1 elif price < 5000: hogaUnit = 5 elif price < 10000: hogaUnit = 10 elif price < 50000: hogaUnit = 50 elif price < 100000: hogaUnit = 100 elif price < 500000: hogaUnit = 500 else: hogaUnit = 1000 else: if price < 1000: hogaUnit =

파이썬 공부에 도움이 되는 사이트 [내부링크]

https://wikidocs.net/134425 00-04 이 책을 읽기 전에 이 책을 읽기 전에 미리 알아두어야 할 사항에 대해서 살펴보자. ## 파이썬 버전 이 책은 파이썬 3.9 버전을 기준으로 작성되었다. 하지만 이 책에서 설명하는 라이브러 ... wikidocs.net

나스닥 Trix 전략 (k값과 청산시점을 유동적으로 조절) [내부링크]

https://github.com/mc-yonga/Global_Future/commit/1783aa8d458eb35e7dcdbbce26f75f1fbe6c4b6e

나스닥 단타 시스템 개선 [내부링크]

1. 전략명 : 30포인트 * n 2. 전략 설명 - 조건 : 진입 이후 최대수익이 매입가대비 30포인트 * n - 매도조건 : 매입가 + 30 * n - 최근 10개봉에서 골든크로스가 발생하거나 최근 10 개봉 변동성이 너무 낮으면 진입가에 가중치를 부여 3. 개선사항 - 익절조건을 충족하지 않으면 Lowest(L,15) ==> Lowest(L,30) 으로 수정 - 트레일링 스탑 제거 ==> 수정전 코드에서는 트레일링 스탑 기능이 활용될 수 없어서 삭제 - setstoploss (50,pointstop) 추가 - 썸머타임여부에 따라 트레이딩 시간을 조절 4. 백테스팅 결과 - 개선전 - 개선후

나스닥 변동성 돌파전략 수정 [내부링크]

1. 코드 추가 - 썸머타임 시간에 맞춰 금요일 장마감 직전에 포지션 청산 - 역배열 청산 추가 - 역배열 or 손절이면 재진입가는 고가 + 10 ==> 가격이 고가를 빠르게 돌파해야 진입가능, 고가 + 10을 돌파하지 못하면 진입가는 계속 올라갈 수 있음 - 직전 포지션 손익이 < 0 이면 다음 포지션의 수익은 트레일링 스탑이 아니라 목표가 지정주문으로 전환 - 목표가 청산 이후 신규 포지션은 청산가격 + 10 2. 개선점 - mdd가 낮아짐 - 코드를 개선하기 전보다 안정적으로 수익을 쌓아감 - 승률이 3%낮아졌으나 손익비가 0.3 증가 3. 백테스팅 결과 - 개선전 - 개선후

2021-10-31 check_price 함수 오류 [내부링크]

[오류사항] - 급등하는 코인을 매매할 때 진입하자마자 바로 청산하는 오류가 있음 - 진입이름 [문제 원인] - check_price 함수(진입이후 고가를 계산하는 코드)와 매도조건 코드에 문제가 있어서 진입이후 청산을 계속 반복하였음 - 진입명을 결정하는 조건문이 반대로 되어 있었음 [해결 과정] - 진입이후 고가를 웹소켓으로 받은 당일 고가데이터를 사용

[YesTrader] setstoptrailing 대신 쓸수 있는 코드 [내부링크]

/* if MarketPosition == -1 Then { if entry_timing_band_width > 12 Then { if Lowest(l,BarsSinceEntry) <= EntryPrice *(1 - 2 / 100) Then ExitShort("TS -a",AtStoP,LOWEST(L,BarsSinceEntry) + ABS(LowesT(L,BarsSinceEntry) - EntryPricE) * ts_down); Else ExitShorT("Losscut - a",AtStop,EntryPrice * (1 + 2 / 100)); } else if entry_timing_band_width > 8 Then { if Lowest(l,BarsSinceEntry) <= EntryPrice *(1 - ts_target1 / 100) Then ExitShort("TS - 1",AtStoP,LOWEST(L,BarsSinceEntry) + ABS(LowesT(L,BarsSinceEn

BTC, ETH 변동성 돌파전략 완성! [내부링크]

[이더리움 백테스팅 데이터] [비트코인 백테스팅 데이터] - 2021-11-24 일 부터 전략 운용 시작 - Noise 비율을 사용하여 K값을 계산 - 8시 40분에 청산 - 목표가 : 매수가 * 1.1 - 손절가 : 매수가 * 0.95

나스닥 스윙전략 개발 (단타전략 version2) [내부링크]

[기존 전략] [전략 수정 후] - 수익률 : 136% >> 173% - 매매횟수 : 1541회 >> 1431회 - 승률 : 32.90% >> 67.09% - 손익비 : 2.72 >> 0.76 - 평균손익 : 4.29 포인트 >> 5.72포인트 [Key Point] - 기존전략은 목표가/손절가를 계산할 때 진입가 대비 + / - n 포인트로 계산하였으나 - 신규전략은 목표가 /손절가를 진입가 대비 + / - n%로 계산

해외 금융데이터 [내부링크]

https://pythonrepo.com/repo/JerBouma-FinanceDatabase This is a database of 180.000+ symbols containing Equities, ETFs, Funds, Indices, Futures, Options, Currencies, Cryptocurrencies and Money Markets. | PythonRepo JerBouma/FinanceDatabase, Finance Database As a private investor, the sheer amount of information that can be found on the internet is rather daunting. pythonrepo.com https://tariat.tistory.com/1151 미국기업 재무제표 데이터 수집하는 방법은?! 데이터를 수집하는 방법은 여러가지가 있다. 가장 쉽게는 투자 사이트에서 제공하는 데이터를 일일이 복사하는 방법이

나스닥 매수포지션 스윙 트레이딩 전략,version 2.5 [내부링크]

version 1과 version 2을 합친 2.5버전 완성 매매횟수를 좀 줄임

mplfinance 가격데이터 시각화 [내부링크]

https://pypi.org/project/mplfinance/#description mplfinance Utilities for the visualization, and visual analysis, of financial data pypi.org import mplfinance as mpf from Binance.Binance import * binance = Binance_Class() ticker = 'BTC/USDT' frdate = '20220201' # daily = binance.get_daily_ohlcv(ticker,frdate) # mpf.plot(daily,type='candle',mav=(3,6,9),volume=True,show_nontrading=True) intraday = binance.get_minute_ohlcv(ticker,frdate=frdate,interval= 5) #intraday = intraday.drop('volume',axis=1)

비트겟 카피 트레이더 설명서 [내부링크]

https://coinpick.com/bitget_copy_trading/33768 12.비트겟(Bitget) 비트코인 카피트레이딩 하는법 - Bitget 카피트레이딩 - 코인픽 12. 비트겟(Bitget) 비트코인 카피트레이딩 하는법 비트겟(Bitget) 선물 거래소가 다른 암호화폐 거래소와 가장 차별화 되는 기능은 단연코 카피 트레이딩 입니다. 카피 트레이딩(Copy-Trading)은 거래소 API 기능을 통해서 선택하신 트레이더의 트레이딩 전략을 추종하는 투자 방법입니다. 이는 미러 트레이딩(Mirror-Trading) 또는 소셜 트레이딩(Social-Trading)이라고 불리며 버튼 몇 번으로 손쉽게 투자할 수 있다는... coinpick.com https://bitgetlimited.github.io/apidoc/en/swap/#public-candlestick-chart bitget API Docs Changelog March 24, 2021【Add v3 trader pr

바이비트 역추세 전략 1편 - 백테스팅 및 트레이딩 시스템 개발 완료 [내부링크]

드디어 ,,, 바이비트 api를 활용하여 역매매 레버리지 전략 개발을 완료하였다. 매매할 종목은 BTC/USDT, ETH/USDT, XRP/USDT 세 종목이며, 레버리지는 5배를 사용한다. 포지션 진입/청산 주문방식은 limit이며 손절만 market을 사용한다. 바이비트는 지정가 주문시 0.00025 수수료를 지급하기 때문에 청산가/진입가 - 1 + 0.00025 * 2 * 레버리지 5배가 최종 수익률이된다. 레버리지만 바꿔서 테스트를 해본 결과다, 약 3~5배정도가 적당한듯

바이비트 역추세 전략 2편 - 수익률 계산 코드 수정 [내부링크]

이 전략의 주문 방식은 신규매수, 목표가 청산은 지정가주문방식을 사용하며 손절만 시장가 주문방식을 사용한다. 그래서 수익률에 목표가 청산시 수익률에 0.00025 * 2를 더해줘야 하고 손절시 -0.00025 + 0.00075인 0.0005를 차감해줘야 한다. 기존에 돌리던 백테스팅 코드는 모든 거래에 수익률에 0.00025를 더해주고 있었는데, 목표가 청산으로 마감한 거래는 (수익률 + 0.00025 * 2) * 레버리지로 최종 수익률을 계산하고, 손절로 마감한 거래는 (수익률 -0.0005)* 레버리지로 계산하였다. 그리고 이번에는 레버리지와 손절폭을 최적화하여 각 종목별로 성과가 높은 최적값을 분석하였다. 1. BTC/USDT - 레버리지 >> 5 - 손절 >> 2 종목 : BTC/USDT, 최종수익률 : 31126484.66%, mdd : -14.16%, 매매횟수 : 764, 승률 : 86.39%, 손익비 : 3.35, lvg : 5, loss : 2, 시작일 : 2017-0

바이비트 역추세 전략 3편 - 백테스팅 코드 수정 [내부링크]

최근에 개발한 역매매 전략 백테스팅 코드에서 엄청난! 결함을 발견하였다. [전략에 사용한 파라미터값] - 레버리지 : 4배 - 손절폭 : 1.5% - 볼밴 : 50, 2 - adx 기간 : 14 - 타임프레임 : 5분봉 [백테스팅 결과] - 수익률 : 2020788.22% - mdd : -10.53% - 매매 시작일 : 2017-08-21 - 매매횟수 : 767 - 손익비 : 3.16 백테스팅 결과보소 ,,,,결과를 보고 금방 부자가 될 수 있겠다! 라는 생각을 잠깐 했지만 ,,,, 백테스팅 결과가 너무 비현실적으로 잘 나와서 분명히 어느 부분에 결함이 있을것이라고 생각했고 오랜 기간 추적해본 결과! 동일한 캔들에서 진입과 청산이 이루어질 때 수익률이 과대평가 된다는 결함을 발견하였다. 우선 문제가 되는 코드는 다음과 같다 try: target_cond = high.loc[entry_time:] >= mid.shift(1).loc[entry_time:] target_time = ta

바이비트 역추세 전략 4편 - 변수 최적화 [내부링크]

https://blog.naver.com/okshin23432/222648803160 바이비트 역추세 전략 3편 - 백테스팅 코드 수정 최근에 개발한 역매매 전략 백테스팅 코드에서 엄청난! 결함을 발견하였다. [전략에 사용한 파라미터값] - ... blog.naver.com 코드 수정 이후 레버리지와 손절폭, 분봉과 adx period 4가지 변수를 최적화 하였다. [BTC/USDT] 요 차트는 백테스팅 기간이 21년부터~ [ETH/USDT] 레버리지 2배, 손절폭 8.5%, 5분봉, adx 기간 16 - 이더리움은 레버리지2배, 손절폭 3%, ADX_Period 18로 사용 [XRP/USDT] 우선 롱 전략은 이정도로 마무리 하고,각 티커별로 수익률을 극대화 하는 파라미터값으로 세팅하여 새로운 시스템을 운용한다. 매도전략은 현재 최적화 작업 진행중이고 마무리 되면 각 종목별로 최적 변수값을 찾아서 셋팅할 예정이다.

바이비트 역매매 전략 5편 - 매도 포지션 [내부링크]

매도포지션 최적화 작업이 완료되었다. BTC/USDT

이더리움 역추세전략 구상 [내부링크]

매수조건 1) band %b >= 80 2) 저가 > 중심선 3) trix(14) > trix(20) 지금 돌리고 있는 역추세 매수전략에 상기조건을 추가하여 볼밴 중심선에서 진입하는 전략을 백테스팅 해보자

나스닥 매도전략 진입 타이밍 조정 [내부링크]

현재 매도진입가를 60이평 * (1 - 변수값 / 100) 으로 해놓았음, 변수값을 하드코딩으로 넣어놧는데 이를 시장상황에 따라 유동적으로 값이 계속 바뀌도록 수정 Ex) 일봉기준 5, 20, 60일이 역배열이면 값을 줄이기

시장 하락기에 베팅사이즈를 줄이고 리스크를 늘리기 [내부링크]

추세추종 매매전략은 시장에 노이즈가 많이 발생할 때 손실이 확대된다. 최근 러시아 vs 우크라이나 사태로 인해 글로벌 금융시장이 전반적으로 침체되어 있으며 불규칙적인 움직임이 발생하여 추세추종 전략을 운용하는데 어려움이 많다. 그리고 내 개인적인 경험을 미루어 보았을 때 하락추세에서 발생하는 노이즈가 상승추세에서 발생하는 노이즈보다 훨씬 Activity하고 스트레스를 많이 준다. 최근과 같은 시장상황에서는 베팅사이즈를 줄이고 감내해야 하는 변동성을 늘리는게 좋다. 예를들면 베팅사이즈를 1/2로 줄이고, 감내해야 하는 변동폭(리스크)를 2배로 늘리는 것이다. 그런데 이 방식은 너무 뻔하다 ;; 누구라도 생각할 수 있는 방법인데 좀더 신박한 방법이 없을까

바이비트 역매매 전략 6 - 중심선 매수, 볼밴 상단 매도 [내부링크]

https://blog.naver.com/okshin23432/222651360408 이더리움 역추세전략 구상 매수조건 1) band %b >= 80 2) 저가 > 중심선 3) trix(14) > trix(20) 지금 돌리고 있는 역... blog.naver.com 현재 운용하고 있는 역추세 매수전략은 볼밴 하단에서 매수하여 볼밴 중심선에서 매도하는데, 진입/청산 전략을 수정하여 볼밴 중심선에서 매수, 볼밴 상단에서 매도를 하면 어떨지 테스트를 해보았다. XRP/USDT 이더는 너무 안나와서 패스 ;; 지금 할게 너무 많아서 일단 대충 올려놓고 나중에 제대로 분석해봐야겠다. 일단 새로운 전략을 만들어볼 필요성은 있는걸로!

나스닥 매수포지션 스윙 트레이딩 전략,version 3.0 [내부링크]

프랙탈 원리를 이용하여 나스닥 매수포지션 스윙트레이딩 전략을 업그레이드 하였다. 이번 업데이트의 핵심은 프랙탈 원리를 응용하여 분봉 데이터에 일봉데이터를 결합함으로써 최근 시장의 추세를 명확하게 정의하고, 시장상황에 따라 진입시그널과 포지션 진입시 감내해야 하는 변동성을 유동적으로 조절한다는 점이다. 코드를 업데이트 하기 전에는 시장의 추세를 파악할 때 분봉 데이터만 활용하였는데 이러한 데이터 분석방식의 오류는 다음과 같다. 1. 일봉상으로는 시장이 하락세를 보이고 있으나 분봉으로 시장의 추세를 파악할 경우 상승세를 보이는 경우가 있다. 2. 즉, 각기 다른 타임프레임으로 시장의 추세를 파악하였을 때 상반된 결과가 나온다면 시장 리스크가 확대되었다고 판단을 내릴 수 있다. 그리고 이러한 판단하에 보수적으로 신규 포지션을 진입하고, 평소보다 무겁게 포지션을 보유해야 한다. 오랜기간 상기 오류에 대해 고민해왔고 연구한 결과 적절한 솔루션을 도출하였다. 이 솔루션은 비단 나스닥 뿐만 아니

코인 웹소켓 오류날 때 참고 [내부링크]

https://igotit.tistory.com/entry/bybit-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%9B%B9%EC%86%8C%EC%BC%93-%EC%A2%85%EB%A3%8C-%EC%98%A4%EB%A5%98-%EB%B0%8F-%ED%95%B4%EA%B2%B0%EC%B1%85 bybit. 파이썬 웹소켓 종료 오류 및 해결책. websockets.exceptions.ConnectionClosedError: code = 1006 오류 요점. 파이썬에서 바이빗 과 통신하는 WebSocket 프로그램 실행 중에 1주일에 1회 혹은 재수없는 경우엔 수시간 만에 파이썬 프로그램이 종료되는 경우 있다. 아래 화면은 종료된 시점에 보이는 모습. 오류.. igotit.tistory.com

나스닥 30포인트 따먹기 전략 [내부링크]

에전에 운용하던 전략을 살짝 수정하여 안정적으로 수익을 쌓아가도록 하였다. 이 전략에서 새로 개발하여 사용한 코드는 N개봉 변동성 * 전일종가 이다. n_volitary = N개봉변동성(10); n_vol_point = (ma(n_volitary,10) / 100) * DayClose(1); 최근 10개 변동성을 계산하고 이를 10일 이동평균화 시켜 전일 고가를 곱하였는데, 이 값이 일정수준을 넘어서면 진입가격 + @를 시켜주었다. 최근 시장 변동성이 내가 감내할 수 있는 수준을 크게 넘어서면 손절할 가능성이 매우 높아지므로 차라리 진입을 안하는것 보다는 진입장벽을 높였다.

마켓메이킹 전략 기초 [내부링크]

https://blog.naver.com/chunjein/220069839337 33. 단순 마켓메이킹 (Market Making) 전략 알고리즘 트레이딩 (Algorithmic Trading) - 전략 (33) 단순 마켓메이킹 (Market Making) 전략 상대호... blog.naver.com https://blog.naver.com/chunjein/220155709684 34. 마켓메이킹 (Market Making) 전략 - 단순한 재고관리 전략 알고리즘 트레이딩 (Algorithmic Trading) - 전략 (34) 마켓메이킹 (Market Making) 전략 - 단순한 재... blog.naver.com https://blog.naver.com/chunjein/220161040338 35. Bid-Ask Bouncing (BAB) 척도 알고리즘 트레이딩 (Algorithmic Trading) - 전략 (35) Bid-Ask Bouncing (BAB) 척도 마켓메이킹 .

gspread docs [내부링크]

https://docs.gspread.org/en/latest/user-guide.html#creating-a-spreadsheet Examples of gspread Usage — gspread 5.3.2 documentation Opening a Spreadsheet You can open a spreadsheet by its title as it appears in Google Docs: sh = gc . open ( 'My poor gym results' ) If you want to be specific, use a key (which can be extracted from the spreadsheet’s url): sht1 = gc . open_by_key ( '0BmgG6nO_6dprdS1MN3d3MkdPa142WFRrdnRRUWl1UFE' ) O... docs.gspread.org

나스닥 매도전략 [내부링크]

- 검은선을 하향돌파 한 이후 lowest(l,n) 돌파진입 - 청산은 highest(h,n)을 사용하거나 trix, dmi를 사용하면 괜찮을듯

Alpha Trend [내부링크]

In Magic Trend we had some problems, Alpha Trend tries to solve those problems such as: 1-To minimize stop losses and overcome sideways market conditions. 2-To have more accurate BUY/SELL signals during trending market conditions. 3- To have significant support and resistance levels. 4- To bring together indicators from different categories that are compatible with each other and make a meaningful combination regarding momentum, trend, volatility , volume and trailing stop loss. >> 매직트렌드에서 발생한 몇

나스닥 변동성 돌파전략 개선 [내부링크]

해외선물 매매 초창기에 운용했다가 폐기시킨 변동성 돌파전략을 수정보완하였다 실수로 코드를 잘못 적었는데 백테스팅 결과가 굉장히 우수해서 기록해둔다. 전략 운용시간을 24시간이 아닌 자정 12시부터 장 마감까지로 설정하면 성과가 굉장이 우수하다 [매매시간이 자정부터 장 마감까지인 전략] [매매시간이 24시간인 전략] 최종 성과는 매매시간이 24시간 전략이 더 우수하나 수익률 곡선과 mdd를 봤을 때 자정부터 장 마감까지 거래하는 전략이 더 좋아보인다 개장이후부터 자정까지 매매하는 전략을 따로 개발해봐야 겠다

파이썬으로 PDF 파일 읽기 [내부링크]

sample = '리포트.pdf' from io import StringIO from pdfminer.converter import TextConverter from pdfminer.layout import LAParams from pdfminer.pdfdocument import PDFDocument from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.pdfpage import PDFPage from pdfminer.pdfparser import PDFParser output_string = StringIO() with open('리포트.pdf', 'rb') as in_file: parser = PDFParser(in_file) doc = PDFDocument(parser) rsrcmgr = PDFResourceManager() device = TextConverter(rsrcmgr,

프로세스 죽었을 때 재실행 [내부링크]

https://i.k-june.com/wp/6508 파이썬 프로세스가 죽었을 때 자동으로 재실행시키는 법 – 1. 크론(Cron)을 이용한 방법 24시간 멈추지 않고 계속 가동되어야 하는 파이썬 프로그램이 있는데 종종 죽어버릴 때가 있다. 그래서 해결책을 연구하다가 그 중의 한가지 방법인 크론을 이용하는 방법을 기록해 두고자 한다. 먼저 무한루프로 실행되는 run24h.py라는 간단한 프로그램을 작성한다. import time while True: print ('Hello World') time.sleep(5) 5초마다 계속 헬로월드를 출력해주는 프로그램이다. 다음은 이 파이썬 프로그램이 중단되었을 경우, 프로세스가 살아있는지 검사를 해서 다시 실행하는 코드이다. 편의상 이... i.k-june.com

윈도우 10 cmd 스케쥴러 추가,삭제 [내부링크]

스케쥴러 추가 >> schtasks /create /tn "binance spot daily update" /tr "C:\Users\용가\Desktop\프로젝트\바이낸스\Binance\ignore\test.py" /sc daily /st 00:00 /ed 2099/12/31 스케쥴러 삭제 >> schTasks /delete /f /tn "test" https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=superyeoju&logNo=221274899573 작업스케줄러(Schtasks) cmd 입력방법의 이해 작업스케줄러(schtasks)를 cmd로 입력하는 방법 출처 : Microsoft Docs Windows 2008 server , Windows... m.blog.naver.com https://ychcom.tistory.com/entry/schtasks-%EC%8A%A4%EC%BC%80%EC%A4%84%EB%9F

나스닥 30포인트 따먹기 전략 ver2 [내부링크]

https://blog.naver.com/okshin23432/222677853779 나스닥 30포인트 따먹기 전략 에전에 운용하던 전략을 살짝 수정하여 안정적으로 수익을 쌓아가도록 하였다. 이 전략에서 새로 개발하여 ... blog.naver.com 기존에 운용하던 전략을 수정보완하였다. 가장 큰 변화는 진입가 산출방식이며 새로 추가된 로직은 고가 index와 저가 index를 산출해서 비교하는 것 이다 진입가는 최근 20개봉의 고가 + 특정 조건에 부합할 경우 진입가에 multiple point 를 가산하여 진입가격을 높이는 방법을 사용했으나 이번에 새로 개발한 진입가 산출방식은 고가, 저가, 종가의 평균값에 multiple point를 가산하였다 그리고 최근 10개봉 중 고가 index와 저가 index를 구하였고 1) 저가 index - 고가 index 값이 3 이상이고, 변동성(point로 환산)이 고가 index와 저가 index를 차감한 값에 30을 곱한 값보다 낮으면

도커 컨테이너, 이미지 삭제 방법 [내부링크]

https://www.lainyzine.com/ko/article/docker-rm-removing-docker-containers/#%EB%A1%9C%EC%BB%AC-%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9D%98-%EB%AA%A8%EB%93%A0-docker-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88%EB%A5%BC-%EC%82%AD%EC%A0%9C%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95 docker rm 사용법: Docker 컨테이너를 삭제하는 방법 docker rm 명령어를 사용하면 특정한 컨테이너를 삭제할 수 있습니다. 이 글에서는 Docker 컨테이너를 삭제하는 다양한 방법에 대해서 소개합니다. www.lainyzine.com https://www.lainyzine.com/ko/article/docker-rmi-removing-docker-images/ docker rmi 사용법: Docker 이미지를 삭

vectorization 참고 [내부링크]

https://www.oreilly.com/library/view/python-for-algorithmic/9781492053347/ch04.html

[퀀트투자전략] 잔여이익모델을 활용한 적정주가 계산 (22년 4분기 재무데이터 기준) [내부링크]

안녕하세요~! 퀀스택스 입니다. 오늘은 가치투자자 관점에서 잔여이익모델(RIM)을 활용하여 전 종목의 적정주가를 계산해보고 관심있는 종목의 상승여력이 얼마나 되는지 확인하는 방법에 대해 알려드리겠습니다. 우선 잔여이익모델에 대한 설명은 아래의 링크를 참고하시기 바랍니다. https://m.blog.naver.com/think__ings/222115790213 주식 RIM 잔여이익모델 공식으로 기업 적정 주가 계산하기 안녕하세요! 오늘은 기업의 적정가치를 구하는 여러가지 방법중에서 주식 Rim 공식 으로 적정주가 구하는 ... m.blog.naver.com 잔여이익모델을 활용한 기업의 적정가치를 계산하는 공식은 아래와 같습니다. 아래의 공식대로 퀀트박스에서 데이터를 조합하면 아래와 같은 형태가 됩니다. 적정가치 = 자본총계 + [{자기자본 * (ROE - 할인율)} / 할인율] 기대수익률 = 적정가치 / 시가총액 - 1 그리고 적정가치 계산식에 있는 '할인율'은 한국신용평가의 등급별

[퀀트투자전략] 시장추세에 따라 매수타이밍을 유동적으로 조절하기 (feat. 변동성 돌파전략) [내부링크]

안녕하세요 ~! 퀀스택스 입니다. 오늘은 시장의 추세에 따라 변동성 돌파전략의 매수가격을 유동적으로 조절하여 트레이딩을 수행하는 새로운 버전의 변동성 돌파전략을 소개해드리도록 하겠습니다. 우선 변동성 돌파전략의 진입가격을 계산하는 공식부터 살펴보겠습니다. 진입가격 = RANGE * K + 당일시가 RANGE 는 변동폭을 의미하며, 저는 보통 전일고가 - 전일저가를 사용합니다. K값은 보통 0 ~ 1 사이의 값을 사용하며, K값이 클수록 진입가격이 높아집니다. 얼마전 시스트레이더님께서 K값은 0.5으로 고정한 상태에서 Range 값을 전일시가 - 전일저가를 사용했을 때 코스닥 ETF를 매매하는 변동성 돌파전략의 성과가 가장 우수하다는 댓글을 남겨주셨습니다. 실제로 투자전략을 구현해보니 Range를 전일시가 - 전일저가로 사용했을 때의 성과가 가장 높았고, 전일고가 - 전일시가가 가장 낮은 성과를 기록하였습니다. 자세한 내용은 아래의 투자전략 검증결과를 참고하시기 바랍니다. 누적수익률

[퀀트투자전략] 슈퍼 ETF 전략개선 (systrader79님께 무한 감사) [내부링크]

안녕하세요~! 퀀스택스 입니다. 오늘은 예전에 소개해드린 슈퍼 ETF 투자전략을 두 단계에 걸쳐 수익성을 개선해보았습니다. 전에 작성한 글을 못보신 분들은 아래의 링크를 참고하시기 바랍니다. https://blog.naver.com/quanstaxx/223073356778 [퀀트투자전략] 슈퍼 ETF 전략 안녕하세요~! 퀀스택스 입니다. 오늘은 '슈퍼 ETF' 전략을 소개해 드리도록 하겠습니다 슈퍼 ... blog.naver.com [모의투자 진행상황] 슈퍼 ETF 전략을 처음 소개해드리고 나서 약 1주일간 키움증권 API을 활용한 트레이딩 시스템을 개발하였으며, 개발이 완료된 이후부터 지금까지 약 한달동안 모의투자를 수행하면서 트레이딩 시스템을 수정보완하고 있습니다. 안정화는 거의 완료되었으며 2주정도 모의투자를 더 진행해보고 실제투자로 전환할 계획입니다. 모의투자 주문내역과 체결내역을 살펴보면 '지정가'로 주문을 넣기 때문에 슬리피지는 없으며 체결은 전부 되는편입니다. 그리고 백

[퀀트 투자 전략] 빨래줄 전략 (feat. 백석꾼님) [내부링크]

안녕하세요 ~! 퀀스택스 입니다. 오늘 소개해드릴 전략은 친애하는 블로그 이웃인 백석꾼님께서 개발한 '빨래줄 전략' 입니다. 백테스팅 성과를 보면 아시겠지만 누적수익률 곡선이 빨래줄처럼 우상향을 그리고 있어 투자전략의 이름을 '빨래줄'로 만드신듯 합니다 빨래줄 전략에 대한 자세한 내용은 아래에 있는 백석꾼님 블로그를 참고하시기 바랍니다. https://blog.naver.com/xerts/223095512814 KODEX 레버리지 빨랫줄전략 개선 안녕하세요 주말 잘 보내고 계신가요? 장마도 아닌데 몇일째 비가 오는것 같네요. 어제 이비인후과를 갔는... blog.naver.com 투자전략 검증 - 1 언제나 그렇듯이 백석꾼님이 소개해주신 투자전의 상세조건을 보면 굉장히 간단합니다. 아래의 매수조건을 충족하는날에 장중 주가가 매수가격을 돌파하면 매수하고, 매수조건을 미충족 하는날에 시가로 청산하는 굉장히 단순한 전략입니다. [매수조건] 1) 전일 거래량 < 3일 평균 거래량 2) 전일

바이비트 트레이딩 시스템 구성 [내부링크]

안녕하세요 ~! 퀀스택스 입니다. 드디어!! 오늘 바이비트 트레이딩 시스템 개발이 완료되었습니다. UI 작업은 아직 마무리 안되었습니다만 전략을 운용하는데는 지장이 없습니다. 이번 개발 결과물 덕분에 앞으로는 새로운 전략을 운용할 경우 '전략 분석기'만 새로 개발하면 되고 나머지 리시버, 주문기, 주문확인기, 체결확인기, 지갑확인기는 새로운 전략 분석기에만 붙이면 됩니다. 아래의 시스템 구성을 참고하시기 바랍니다. 오늘 소개해드린 투자전략에 대한 질문이 있거나 혹은 파이썬 코드를 받고 싶으신분들은 퀀스택스 커뮤니티 커뮤니티에서 요청하시기 바랍니다. * 비번 : quanstax Quant 커뮤니티 #퀀트킹 #퀀트박스 #퀀트투자 #퀀트 #젠포트 #테일러 #국내주식 #주식투자 open.kakao.com

[퀀트투자전략] 이더리움 전략 개선중 [내부링크]

안녕하세요~! 퀀스택스 입니다. 요즘 국내주식 투자전략과 시스템을 개발하느라 가상화폐 전략개발과 시스템 개발에 다소 소홀했었는데요, 그래서 오늘은 정말 오랜만에 가상화폐 투자전략을 개선해보았습니다. 우선 현재 운용하고 있는 가상화폐 투자전략은 변동성 돌파전략 기반의 이더리움 롱/숏 전략 이며, 전일 주가흐름을 분석하여 변동성 돌파전략 진입가격 산출공식의 K값과 레버리지 비율, 베팅사이즈를 동시에 조절합니다. 지금 새벽 1시가 다 되어가서 자러가야 하니 전략에 대한 내용은 나중에 자세하게 설명하도록 하고 ,,, 전략을 개선하기 전과 후의 백테스팅 결과만 공유하겠습니다. 아래의 결과를 보시면 아시겠지만 전략개선은 두 단계로 진행하였습니다. 첫번째 개선전략은 베팅사이즈만 수정한 전략이고 두번째 개선전략은 베팅사이즈 수정 + 진입가격 산출공식 수정 전략 입니다. 두번째 개선전략의 수익성이 여타 전략대비 압도적으로 높으나 그만큼 MDD도 높아진 모습입니다. 그래서 수익성을 조금 낮추더라도 M

[퀀트투자전략] 직장인 투자전략2 (변동성 돌파전략 짱!) [내부링크]

안녕하세요, 퀀스택스 입니다 ~! 지난주에는 KODEX 레버리지 단일종목을 매매하는 '직장인 투자전략'을 소개해 드렸는데요, 오늘은 직장인 투자전략을 KODEX 코스닥150 레버리지 단일종목에 적용했을 때 어떤 결과가 나오는지에 대해 보여드리도록 하겠습니다. 직장인 투자전략을 모르시는분들은 하단에 있는 글을 보고 오시기 바랍니다 ^^ https://blog.naver.com/okshin23432/223080021842 [퀀트투자전략] 초강추 !! 직장인 투자전략 (이보다 따라하기 쉬운전략은 없다) 안녕하세요~! 퀀스택스 입니다. 오늘은 친애하는 '백석꾼' 님이 개발하신 '직장인 투자전략... blog.naver.com [코스피 레버리지 ETF VS 코스닥 레버리지 ETF] 우선 직장인 투자전략을 코스피 레버리지와 코스닥 레버리지 ETF에 적용했을 때 각각 어떠한 성과가 나오느지를 비교해보았습니다. 아래의 성과 그래프에서 파란색선과 주황색선은 각각 코스피 레버리지, 코스닥 레버리지 전

[퀀트투자 시스템] 직장인 투자전략 개발 [내부링크]

안녕하세요~! 퀀스택스 입니다 다들 연휴는 잘 보내셨나요?? 저는 이번 연휴기간동안 트레이딩 시스템을 개발하면서 매우 알차게 보냈습니다. 최근에 소개해드렸던 직장인 투자전략(코스닥 레버리지) 매매시스템 개발을 1차로 마무리 했구요, 5월 2일부터 모의투자를 진행하면서 오류를 하나씩 잡아나갈 계획입니다 https://blog.naver.com/okshin23432/223086716794 [퀀트투자전략] 직장인 투자전략2 (변동성 돌파전략 짱!) 안녕하세요, 퀀스택스 입니다 ~! 지난주에는 KODEX 레버리지 단일종목을 매매하는 '직장인 투자... blog.naver.com 이번에 개발한 시스템의 구조 이미지 입니다. 두번째 이미지를 보시면 프로세스가 5개로 되어 있는데요, 실제로 돌아가는 프로세스는 Receiver, Strategy, Ordercheck 이 세가지 입니다. 시스템 안정화가 마무리 되고 언제 기회가 된다면 이번에 개발한 시스템을 좀 더 구체적으로 설명을 드려보겠습니다.

[바이비트] ret_code : 10002오류 났을 때 해결방법 [내부링크]

이번에 바이비트 시스템을 갈아 엎으려고 다시 개발하려고 하는데, 주문 테스트를 하던 중 자꾸 10002 에러가 나서 확인해보니 ,, 아래의 사이트에 들어가서 맨 밑에 보면 윈도우 시간대를 변경하는 방법이 나와있음 https://github.com/tiagosiebler/awesome-crypto-examples/wiki/Timestamp-for-this-request-is-outside-of-the-recvWindow Timestamp for this request is outside of the recvWindow Examples for working with crypto exchange APIs & WebSockets in Node.js & TypeScript. Algo trading snippets & examples. - tiagosiebler/awesome-crypto-examples github.com 아래와 같이 하면 됨~!

[퀀트투자전략] 슈퍼트렌드 투자전략 맛보기 [내부링크]

안녕하세요~! 퀀스택스입니다. 최근에 제가 운영하는 커뮤니티에서 '슈퍼 트렌드'를 활용한 투자전략을 운용하시는분들이 꽤 많다는걸 알았습니다. 그래서 저도 이번에 해당 지표를 활용한 투자전략을 간단하게 만들어 보았습니다. 슈퍼 트렌드 전략이란? 간단하게 소개를 해드리자면 주가 주변에 두개의 트렌드 라인을 그리고 주가가 상승 트렌드 라인을 상향 돌파하면 상승추세에 진입한 것으로 판단하고 매수, 주가가 하락 트렌드라인을 하향 돌파하면 하락추세에 진입한 것으로 판단하여 매도 하는 매우 간단한 전략입니다. 자세한 내용은 하단의 링크를 참고하시기 바랍니다. https://enrichmoney.in/knowledge-center-chapter/super-trend Supertrend Indicator: Best ATR Indicator, Chart, Formula, Strategy for Intraday Option Trading in NS Super Trend The super trend is

바이비트 트레이딩 시스템 설계 [내부링크]

가상화폐 투자전략을 고도화 하고 그에 걸맞는 트레이딩 시스템을 갖추고자 아래와 같은 구조로 트레이딩 시스템을 개발하고자 합니다. 참고로 아래 사진에는 안나와있지만 UI 프로세스를 별도로 열어서 전략에서 발생하는 여러가지 이벤트를 관리합니다. 퀀트투자 관련 자유롭게 이야기를 나눌 수 있는 퀀스택스 커뮤니티에 입장하세요~ * 비번 : quanstax https://open.kakao.com/o/gasnoL8e Quant 커뮤니티 #퀀트킹 #퀀트박스 #퀀트투자 #퀀트 #젠포트 #테일러 #국내주식 #주식투자 open.kakao.com

키움증권 api로 일봉 데이터 수집 (비수정주가) [내부링크]

안녕하세요~! 퀀스택스 입니다. 키움증권 API 를 활용하여 일봉 데이터를 수집하고 몽고DB에 저장하는 코드를 공유해 드리도록 하겠습니다 참고로 수집하는 데이터는 수정주가가 아니라 '비수정주가' 이구요, 비수정주가를 수집하는 이유는 개별종목별 수정비율과 비수정주가를 곱하면 보다 정확한 수정주가를 구할 수 있기 때문입니다. 이 방법은 추후에 공개하도록 하겠습니다. 아래의 코드는 반드시 32비트 가상환경을 만드신 후에 실행해야 합니다. 그리고 아래에 있는 두개의 코드는 하나의 파일입니다. 500자 이상 소스코드를 작성할 수 없어서 분리하여 작성했습니다. 그러므로 하나의 파일에 두개의 코드를 복붙해서 실행시키시면 됩니다. import pandas as pd from PyQt5.QAxContainer import * import pythoncom from PyQt5.QtWidgets import * import sys import queue import time from pykrx impo

Catch Your Smash Day with Larry Williams [내부링크]

요거 보면서 전략을 하나씩 구현해볼 계획 https://blog.roboforex.com/blog/2020/02/13/catch-your-smash-day-with-larry-williams/ Catch Your Smash Day with Larry Williams - R Blog - RoboForex In this article, we will discuss the trading methods of a famous exchange trader Larry Williams. His expertise is confirmed by his victory in a prestigious world futures championship Robbins World Cup with a phenomenal result — over 11000% profit in a year. blog.roboforex.com

[퀀트투자전략] 스매시 트레이딩 전략 [내부링크]

안녕하세요~! 퀀스택스 입니다. 오늘은 제가 가장 존경하는 트레이더인 래리윌리엄스의 '스매쉬 전략'을 소개해 드리도록 하겠습니다. 래리윌리엄스는 스매시 전략을 이용해서 1년만에 11000% 이상의 수익률을 기록했다고 하였는데요, 아래의 링크를 타고 들어가시면 스매시 전략에 대한 상세한 설명을 확인하실 수 있습니다. https://blog.roboforex.com/blog/2020/02/13/catch-your-smash-day-with-larry-williams/ Catch Your Smash Day with Larry Williams - R Blog - RoboForex In this article, we will discuss the trading methods of a famous exchange trader Larry Williams. His expertise is confirmed by his victory in a prestigious world futures champi

시,고,저,종 팩터별로 Collection을 만들어서 저장 (feat, 벡터연산) [내부링크]

벡터연산을 편리하기 위해 일봉데이터의 시,고,저,종 데이터를 팩터별로 collection 을 만들어서 저장하는 코드 import traceback import datetime import pymongo import pandas as pd from pykrx import stock if __name__ == '__main__': client = pymongo.MongoClient('localhost',27017) all_tickers = stock.get_market_ticker_list(market = 'KOSPI') + stock.get_market_ticker_list(market = 'KOSDAQ') db = client['stock_daily_vector'] open_c = db['open'] high_c = db['high'] low_c = db['low'] close_c= db['close'] volume_c = db['volume'] amount_c = db['amoun

[퀀트투자전략] 슈퍼 ETF 전략 [내부링크]

안녕하세요~! 퀀스택스 입니다. 오늘은 '슈퍼 ETF' 전략을 소개해 드리도록 하겠습니다 슈퍼 ETF 전략이란? 주요 산업 및 섹터 ETF 31개를 선별하고 이 중에서 상승탄력이 강한 상위 5개의 ETF를 데이트레딩 하는 전략입니다. 최근 위와 같은 짤이 돌아다닐정도로 에코프로 3형제를 중심으로 2차전지 섹터가 초 강세를 보였고 코스닥지수의 상승을 견인하였습니다. 그런데 말입니다, 에코프로의 3형제의 초강세는 언제까지 이어질까요? 향후 주가흐름이 어떻게 될지는 알 수 없지만 적어도 에코프로 3형제의 주가 상승세는 언젠가는 꺾이게 될 것이고, 에코프로 3형제에서 출회된 자금은 기대수익률이 높은 섹터로 이동하면서 새로운 섹터가 강세를 보이기 시작할 것입니다. 그렇다면 에코프로 3형제가 저물고 난 이후에 국내 주식시장을 주도할 섹터는 과연 어떤 섹터일까요? 이러한 섹터를 선별하여 트레이딩 하는 전략이 바로 슈퍼 ETF 전략 입니다. [매수조건] 국내 시장을 주도하는 섹터를 선별하는 방법은

[퀀트투자전략] 백석꾼님의 전략을 자체적으로 검증해보기 [내부링크]

안녕하세요~! 퀀스택스 입니다. 정말 오랜만에 백석꾼님의 블로그에 들어가서 이것저것 살펴보다가 한눈에봐도 수익률 곡선이 매우 날카롭게 우상향 하는 전략을 보게 되었습니다. https://blog.naver.com/xerts/223073491173 KODEX레버리지 과최적화(?)의 결과 안녕하세요 오늘은 여러분들께 빨랫줄 같은 전략 성과 차트를 소개해 드리고자 합니다. 트레이딩 난이도가 ... blog.naver.com 그래서 자체적으로 검증을 해보았습니다. 참고로 매수가격 산출공식이 이해가 되지 않아 이전에 작성한 글을 보면서 대충 짐작하여 매수가격 산출공식을 만들었습니다. 매수가격 : (전일고가 - 전일시가) * K + 당일시가 * K 값은 0.7을 사용함 [검증결과] 검증기간 : 2016년 1월 ~ 누적수익률 : 306.69% (누적수익률 749%) 연복리 수익률 : 11.26% (17.7%) MDD : 14.81% (14%) * 괄호안의 값은 백석꾼님의 검증결과 값 검증해본 결

[퀀트투자전략] 초강추 !! 직장인 투자전략 (이보다 따라하기 쉬운전략은 없다) [내부링크]

안녕하세요~! 퀀스택스 입니다. 오늘은 친애하는 '백석꾼' 님이 개발하신 '직장인 투자전략' 을 소개해 드리도록 하겠습니다. [직장인 투자전략이란?] 대부분의 직장인은 회사에서 각자 업무를 수행하느라 실시간으로 투자판단을 내리고 이를 실천하기가 매우 어렵습니다. 하지만 주식시장이 개장하기 전에 미리 대응방안을 결정하고 매수/매도 주문을 수행할 수 있다면? 보다 쉽게 투자전략을 운용할 수 있을겁니다. 이러한 논리를 기반으로 개발된 투자전략이 바로 백석꾼님이 개발하신 '직장인 투자전략' 이며, 'KODEX 레버리지(122630)' 단일 종목을 매매하고 주식시장이 개장하기 전에 주문을 수행하므로 모든 투자자들이 쉽게 운용할 수 있으면서도 성과측면에서도 굉장히 강력한 전략이라고 할 수 있습니다. 어제 제가 쓴 트레이딩 전략들을 쭉 훑어보다가 문득 이런생각이 들었습니다. "블로그에 들어와서 글 봐주시는 분들은 대부분 직장인일텐데, 블로그에 소개된 전략은 돌파전략을 기반으로 한 전략들이다. 이

[자산배분전략] PAA, LAA, VAA 정리 [내부링크]

안녕하세요~! 퀀스택스 입니다. 오늘 쉬면서 웹서핑을 하다가 우연히 이 기사를 보게 되었는데요, 국내 퀀트의 대중화를 이끌고 계신 강환국님께서 해당 기사를 통해 여러가지 자산배분전략을 소개해주셨습니다. https://weekly.donga.com/List/3/all/11/3102871/1 “20년간 1억→16억 동적자산배분 투자로 파이어족 가능” 오래전부터 투자 현인들은 “추세는 당신의 친구”라고 강조했다. 주식이나 자산시장은 추세가 형성되면 당분간 유지되는 특성이 있다. ‘할 수 있다! 퀀트 투자’ 저자 강환국(38) … weekly.donga.com 상기 기사에 소개된 자산배분전략은 PAA, LAA, VAA 총 세가지 전략입니다. 오늘은 기사 내용을 보고 세가지 전략략을 구현하기 위한 조건을 정리해보도로 하겠습니다. 그리고 오늘 정리한 내용을 토대로 조만간 각 자산배분전략을 검증해보고, 기본 전략을 저만의 방식으로 수정보완 하여 투자전략을 개선시켜보도록 하겠습니다. 참고로 오늘

[자산배분전략] 초간단 동적자산배분전략 [내부링크]

안녕하세요~! 퀀스택스 입니다. 오늘은 제가 개발한 초간단!! 듀얼모멘텀 기반 동적자산배분 전략을 소개해 드리도록 하겠습니다. 참고로 오늘 소개해드리는 전략은 지금껏 제가 소개한 여러가지 전략중에서 운용하기가 가장 쉬운 전략이라고 생각합니다. 우선 '듀얼 모멘텀'에 대해 잘 모르시는 분들은 아래의 링크를 참고하시기 바랍니다. https://lazyquant.xyz/docs/detail/%EC%9E%90%EC%82%B0%EB%B0%B0%EB%B6%84/15 게으른 퀀트 ::: 듀얼 모멘텀-동적 자산배분의 기본! 목록보기 듀얼 모멘텀 동적 자산배분의 기본! 주의사항 게으른 퀀트는 투자와 관련된 데이터를 분석하고 백테스트 하는 것을 좋아합니다. 그러나 정식 금융 교육을 받은 공인된 전문가(재무 설계, 펀드 매니저, 회계사)가 아닙니다. 이 웹 사이트에 기재된 모든 글은 정보 제공 목적으로만 이용됩니다. 글에서 사용된 투자 상품(ETF 및 주식 종목 등)은 예시일 뿐 특정 상품에 대한 투자

[퀀트투자전략] 초강세 ETF 트레이딩 전략 (연복리 22%, MDD -17%) [내부링크]

안녕하세요~! 퀀스택스 입니다. 오늘은 국내에 상장된 여러가지 섹터 ETF 중에서 상승탄력이 강한 ETF 5개를 선별하여 트레이딩 하는 전략을 소개해 드리도록 하겠습니다. 우선 제가 운영하는 퀀스택스 커뮤니티를 텔레그램에서 카카오톡 채널로 이동하고자 합니다. 퀀트투자 관련 다양한 이야기를 소통하고 싶으신 분들은 카카오톡 채팅방으로 접속하시기 바랍니다! * 비번 : quanstax https://open.kakao.com/o/gasnoL8e Quant 커뮤니티 #퀀트킹 #퀀트박스 #퀀트투자 #퀀트 #젠포트 #테일러 #국내주식 #주식투자 open.kakao.com [전략 개발 동기] 우선 최근 시장흐름을 살펴보면 에코프로를 중심으로 2차전지 섹터가 초 강세를 보였는데요, 에코프로 뿐만 아니라 2차전지 섹터내에 편입된 종목들이 하루씩 번갈아가면서 급등하는 모습을 보였습니다. 이에 2차전지 섹터와 섹터내에 편입된 종목들은 시장 참여자들로부터 많은 관심을 받았고, 2차전지 섹터 종목을 트레이

[퀀트투자전략] 시장상황에 따라 변수를 조정하기 (변동성 돌파전략 성과 개선) [내부링크]

안녕하세요~! 퀀스택스 입니다. 오늘은 시장상황에 따라 특정변수값을 수정하여 투자전략의 성과를 개선하는 방법에 대해 설명을 드리도록 하겠습니다. 참고로 오늘의 주제를 쉽게 설명하기 위해 사용할 예제 전략으로 변동성 돌파전략을 사용하도록 하겠습니다. 가장 기본적인 변동성 돌파전략에서 성과를 개선시키기 위해 조절할 수 있는 변수는 바로 진입가격을 산출할 때 사용하는 K 값 입니다. 보통 K 값은 0 ~ 1 사이의 값이 사용되며, 아래의 진입가격을 산출하는 공식을 보면 알 수 있듯이 K값이 클수록 진입가격이 높게 산출되므로 주가가 큰 폭으로 상승해야지만 진입이 이루어져 진입횟수가 낮지만, 반대로 K값이 0에 가까워질수록 진입가격이 낮게 산출되어 주가가 조금만 상승하더라도 진입이 이루어져 진입회수가 많고 공격적으로 진입하게 됩니다. 진입가격 = 시가 + (전일고가 - 전일저가) * K 이전에 작성한 변동성 돌파전략 관련글을 보면 주로 K값을 0.35, 0.45, 0.5 등의 값으로 고정시킨

[퀀트투자전략] 자주 사고팔면 수익률이 개선될까? [내부링크]

안녕하세요~! 퀀스택스 입니다. 최근에 퀀트박스에 매달 매수/매도를 할 수 있는 백테스팅 신규기능이 추가되었습니다. 그래서 오늘은 일전에 소개해드린 강환국님의 가치투자전략을 매월 리밸런싱 했을 때 어떠한 성과가 나오는지 검증해보았습니다. 우선 '전략조건설정' 화면에서 월단위 리밸런싱 옵션을 선택하면 아래의 이미지처럼 1월 ~ 12월까지 표시되며, 체크박스로 표시한 달에 매도를 합니다. 저는 매달 리밸런싱을 하기 위해 1월부터 12월까지 모두 선택하였습니다. 검증결과를 미리 설명드리자면 연단위로 리밸런싱을 하는 전략과 매달 리밸런싱 하는 전략의 성과는 크게 차이가 없습니다. 동일한 매수/매도 조건으로 만든 투자전략이라 하더라도 보통의 경우에는 자주 사고팔면 수익률이 감소하는 경향이 있는데요, 결과를 보아하니 꼭 그렇지만은 않습니다 [슈퍼퀄리티 전략 1] - 공유코드 : 재판경기문 - 공유코드 URL : https://bit.ly/3M1phZc 공유코드를 통해 투자 아이디어를 자유롭게

[파이썬] cybos 테마주 리스트 가져오기 [내부링크]

CYBOS 주요 테마현황과 전일대비 등락률이 가장높은 테마에 속해있는 종목의 현황을 파악하기 위한 코드입니다. 단기 트레이딩할 때 참고할 수 있는 지표를 만드는중입니다. import os import sys from os.path import dirname import pandas as pd real_path = dirname(dirname(os.path.realpath(__file__))) if real_path not in sys.path: sys.path.append(real_path) import win32com.client import math from concurrent.futures import * from multiprocessing import Process, Queue, Manager import pprint cybos = win32com.client.Dispatch("Dscbo1.CpSvr8563") cybos.SetInputValue(0,'1') cybos.Bl

[파이썬] CYBOS 다수종목 실시간 현재가 가져오기 [내부링크]

간단하게 만들어봣는데 쓸일은 없을듯 ;; import os import sys from os.path import dirname real_path = dirname(dirname(os.path.realpath(__file__))) if real_path not in sys.path: sys.path.append(real_path) import win32com.client from 백테스팅.Backtester import * import math from concurrent.futures import * from multiprocessing import Process, Queue, Manager import pprint def get_current_price(universe : list): universe = ['A' + x for x in universe] universe = ','.join(universe) inStockMst = win32com.client.Dispatch("Ds

[가상화폐 투자전략] 잡코인 매매 시스템 성과 [내부링크]

안녕하세요~! 퀀스택스 입니다. 잠도 안오고 심심해서 얼마전에 누적수익률 신고점을 갱신한 투자전략의 성과를 체크하였습니다. FTX, 루나 사태가 발생하면서 대부분 코인들이 나락을 갔던 시기에도 좋은 성과를 보여주었네요 이 전략의 노하우는 조만간 공개하겠습니다. 누적수익률 : 6.53% 연복리 수익률 : 10.2% mdd : -13.89% 언더워터기간 : 86일

[가상화폐 전략] 잡코인 매매전략 운용성과 (리스크 관리의 중요성) [내부링크]

안녕하세요~! 퀀스택스 입니다. 오늘은 제가 실제로 운용하고 있는 잡코인 매매전략을 소개해 드리면서 리스크 관리의 중요성과 잡코인 매매전략을 실제로 운용할 수 있는 팁을 설명드리도록 하겠습니다. 잡코인 매매전략은 바이비트 거래소를 통해 운용하고 있으며, 선물거래를 통해 매수/매도 양쪽 포지션을 모두 진입합니다. 진입/청산 전략은 래래윌리엄스의 변동성 돌파전략의 진입/청산 전략을 약간 수정보완하여 사용하고 있고 24시간 운용되며, 진입 이후에 목표가, 손절가에 도달하지 않으면 8시 50분경에 모든 포지션을 청산합니다 [실제 운용성과] 운용기간 : 2022-08-12 ~ 총 거래횟수 : 904회 승률 : 43% 평균수익률 : 3.69% 평균손실률 : -2.69% 손익비 : 1.42 누적수익률 : 6.53% 연복리 수익률 : 10% MDD : -13.89% 언더워터기간 : 86일 알파 : 6% 알트코인 매매 시스템을 운용한 직후 1~2개월 동안에는 매매시스템이 다소 불안정하여 예상치 못한

[투자전략] 누적수익금 한자릿수 추가~! [내부링크]

안녕하세요~! 퀀스택스 입니다. 최근 2주 동안 여러가지 개인적인 일을 처리하느라 정신없이 바빠서 블로그 관리에 소홀했는데요, 대부분의 일처리가 거의 마무리가 되었고 자연스레 시간적 여유가 생겨서 오랜만에 투자전략 글을 작성하게 되었습니다. 바쁜 와중에도 컴퓨터의 힘을 빌려 트레이딩 시스템을 계속 운용할 수 있었구요, 오랜만에 수익률을 확인해보니 저의 메인계좌 누적수익금의 자릿수가 한자리 더 늘어있었습니다. 국내선물 투자성과 일간 수익현황을 보니 2023년 2월 15일 시장이 단기조정을 받았을 때 코스피, 코스닥 매도포지션에 진입하면서 큰 수익이 발생하였고 이 날에 누적수익금의 자릿수가 하나 더 추가되었습니다. 그리고 오늘은 시장이 강하게 상승하면서 매수포지션에 진입하였고 누적수익금은 어제보다 좀 더 늘었습니다. 참고로 상기 이미지에 보이는 투자성과를 기록하는데 약 2년의 시간이 소요되었고, 투자금을 키움증권에서 하이투자증권으로 이관하고 난 이후의 수익률만 표시되어 있는데요, 투자금

[퀀트투자 전략] 강투소 (강환국님의 투자전략을 소개합니다) [내부링크]

안녕하세요~! 퀀스택스 입니다. 오늘은 제가 평소에 존경하고 우리나라 퀀트투자의 대중화를 이끌고 계신 '강환국'님이 저술한 '할 수 있다, 퀀트투자!' 라는 책에 나오는 다양한 전략 중 일부를 소개해 드리도록 하겠습니다. 하락세가 진정되었다? 사실 오늘 이러한 주제를 선정한 이유는 코스피 주봉차트를 보아하니 21년 6월에 고점을 기록한 직후부터 작년 말 까지 국내주식시장의 하락세가 지속되었습니다. 그러나 올해 초부터 현재까지 흐름을 보면 하락세가 어느정도 진정된 모습입니다. 그리고 오늘 이후로 주식시장의 반등여부는 미지수이나 장기간 국내주식시장의 하락폭이 컸던 만큼, 대다수의 종목들의 하락폭은 더욱 크게 나타났고 이에 저평가된 종목들이 상당히 많아졌는데요, 개인적으로 가치투자 관점으로 저평가된 종목을 선별하여 장기간 보유하는 전략을 운용하기에 좋은 시기라고 생각해서 퀀트기반의 가치투자 전략을 소개해 드리게 되었습니다. 이번에는 저 나름대로 백테스팅 코드를 개발하여 가치투자전략을 검증

[파이썬] 개별종목 스크리닝 시스템 개발 완료 [내부링크]

안녕하세요, 퀀스택스 입니다. 개별종목 스크리닝 시스템이 드디어 완성되었습니다. 새로운 투자전략을 개발하다가 막힐때 머리 좀 식히려고 아무생각없이 틈틈히 개발하다보니 어느새 완성이 되었네요 제가 개별종목을 분석할 때 보는 지표를 위주로 만들었구요, 와꾸는 이쁘게 잘 나온것 같습니다. 개인적으로 가장 맘에드는 지표는 가운데에 있는 RIM 적정주가, 채권형 Valuation 차트입니다. 적정주가(빨간색)와 실제주가(파란색)의 흐름을 시계열로 파악할 수 있으며 고평가/저평가 여부를 한눈에 파악할 수 있어 의사결정을 보다 효율적으로 내릴 수 있을듯 합니다. 조만간 웹서버를 구축하여 이 시스템을 많은 분들이 사용할 수 있게끔 하고자 합니다. 기대해주세요~!

[파이썬] 국내주식 호가조정 함수 [내부링크]

오늘부로 국내 주식시장의 호가단위가 바뀌었습니다. 그래서 백테스팅할때나 트레이딩 할 때 호가를 조정하는 함수를 수정하였습니다. 필요하신분은 갖다 쓰시고 ,,, 이상한부분이 있으면 댓글로 남겨주세요 import math def adj_hoga(price): if price < 1000: hogaUnit = 1 elif 1000 <= price < 2000: hogaUnit = 1 elif 2000 <= price < 5000: hogaUnit = 5 elif 5000 <= price < 10000: hogaUnit = 10 elif 10000 <= price < 20000: hogaUnit = 10 elif 20000 <= price < 50000: hogaUnit = 50 elif 50000 <= price < 100000: hogaUnit = 100 elif 100000 <= price < 200000: hogaUnit = 100 elif 200000 <= price < 50000

[퀀트전략] 장단기 투자의 비밀 - 변곡점 매수전략 구현하기 1편 [내부링크]

안녕하세요~! 퀀스택스 입니다. 오늘은 제가 가장 존경하는 트레이더인 래리윌리엄스가 저술한 '장단기 투자의 비밀' 이라는 책에서 제 1장에 나오는 전략을 조금 수정하여 새롭게 개발한 투자전략을 소개해 드리도록 하겠습니다. 참고로 해당 포스팅은 1편과 2편으로 나누어 작성하려고 합니다. 1편은 책에서 소개한 투자전략을 이해하고 이를 기반으로 제가 개발한 투자전략의 성과를 공유하고자 합니다. 그리고 2편은 제가 개발한 투자전략의 매수, 매도 조건과 진입/청산 타이밍에 대해 보다 상세하게 소개하고, 책에서 소개한 전략과 수정보완한 전략이 어떻게 다른지를 설명하고자 합니다. 방긋 미소짓고 계시는 우리 래리형~ 우선 제 나름대로 제 1장에 나오는 주요 문장과 내용을 요약해보았습니다. 명확한 시장 구조와 일정한 지침 혹은 가격이 움직이는 방식이 분명히 존재한다고 본다. 일단 이를 확인하고 나면 이런 구조나 가격 변동은 장내 매매든 전자 매매든 동일하게 적용된다 (쌉공감!) 가격 흐름에는 상당수

[퀀트투자 전략] 장단기 투자의 비밀 - 변곡점 매수전략 2편 [내부링크]

안녕하세요~! 퀀스택스 입니다 지난 1편에서는 제 1장에 나오는 변곡점 매수전략의 기본 개념과 이를 조금 수정보완하여 새롭개 개발한 투자전략 성과를 공유하였습니다. 이번 2편에서는 책에 나오는 변곡점 매수전략의 기본전략을 어떻게 수정하였는지 설명을 드리도록 하겠습니다. 우선 변곡점 매수전략을 예스트레이더로 구현한 코드는 아래와 같습니다. (파이썬으로 작성한 코드는 요청하신 분에 한해서 일부 공개하겠습니다) input : bb_period(50), bb_std(2); var : high_high(0), low_low(0); high_high = max(o, c); low_low = min(o, c); condition1 = high_high[2] < high_high[1] and high_high[1] > high_high; Condition2 = low_low[2] < low_low[1] and low_low[1] > low_low; Condition4 = low_low[2] > l

[국내선물전략] 변곡점 중심값 매수전략 [내부링크]

'장단기 투자의 비밀'의 제 1장에 소개된 변곡점 매수전략의 컨셉만 가져와서 새로운 투자전략을 개발하였습니다. 실제 운용하려고 시스템 세팅까지 완료하였습니다. 신규 전략의 이름은 '변곡점 중심값 매수전략' 입니다. 중심값이란? 최근 5일간 고가와 최근 5일간 저가의 평균값 입니다. 차트를 길게 펼쳐놓고 매수포지션을 진입한 시점을 보면 볼린저밴드 하단에서 매수포지션을 진입하므로 평균회귀전략처럼 보일 수 있으나 실제로는 주가가 중심값을 상승돌파할 때 진입하는 추세추종 전략입니다. 중심값 매수전략의 상세 매매조건은 아래와 같습니다. 매매대상 : 코스피 200선물 기간 : 2000년 ~ 현재 수수료 : 0.4% 슬리피지 : 2틱 매수조건 전일 고가 < 2일전 중심값 최근 10일동안 band %b 값이 20% 이하로 내려간적이 한번이라도 있어야 함 최근 3일동안 종가가 중심값을 데드크로스 한적이 없어야 함, 주가가 중심값보다 낮은 가격을 계속 유지하고 있어야 함 매도조건 보유일수가 3일이 되

[파이썬] 주요 테마명 리스트와 각 테마별 종목리스트를 가져오는 법 [내부링크]

import win32com.client import pprint import pandas as pd cybos = win32com.client.Dispatch("Dscbo1.CpSvr8563") cybos.SetinputValue(1,'1') # 1 ~ 6 까지 뭘 입력해돋 상관없음 cybos.BlockRequest() # GetHeaderValue numData = cybos.GetHeaderValue(0) ### 테마갯수 가져오기 tema_code_list = [] tema_dict = {} for i in range(numData): tema_code = cybos.GetDataValue(0,i) tema_name = cybos.GetDataValue(1,i) tema_stock_cnt = cybos.GetDataValue(2,i) tema_1_mm = round(cybos.GetDataValue(3,i),2) tema_5_mm = round(cybos.GetDataValue

[파이썬] 한국투자증권 API 실전매매를 위한 최소한의 기능정리 [내부링크]

안녕하세요~! 퀀스택스 입니다. 최근에 소개해드린 국내주식전략을 실제로 운용하기 위해 자동매매 시스템을 개발하려고 합니다. 파이썬, 한국투자증권 API을 활용하여 트레이딩 시스템을 개발할 예정이며 전략을 운용하는데 필요한 최소한의 기능을 정리해봤습니다. 금방 만들수 있을것 같네요 트레이딩.py 신규매수, 보유종목 청산, 보유종목 리스트, 평가금액 등 트레이딩에 필요한 데이터를 가져오는 클래스 2. 웹소켓.py 웹소켓으로 현재가와 체결내역을 가져오는 async 함수를 추가함 3. 실전매매전략.py 실시간으로 주가 데이터를 가져와서 매수, 매도 체결을 함 멀티프로세싱으로 웹소켓 파일에 있는 현재가, 체결내역 함수를 실행 현재가는 큐에 넣고, 실시간 분석 함수안에서 큐에 들어간 데이터를 뱉어내고 이를 처리함 실전매매전략.py 파일은 스케줄러로 8시반에 실행, 6시30분에 종료

[퀀트투자] 내가 보유한 주식의 적정주가는? [내부링크]

안녕하세요, 퀀스택스 입니다. 오늘 소개해드린 투자전략 및 데이터 관련 질문은 아래에 있는 퀀스택스 커뮤니티에서 해주시기 바랍니다. 퀀트투자와 관련된 이야기를 자유롭게 나눌 수 있습니다. * 비번 : quanstax https://open.kakao.com/o/gasnoL8e Quant 커뮤니티 #퀀트킹 #퀀트박스 #퀀트투자 #퀀트 #젠포트 #테일러 #국내주식 #주식투자 open.kakao.com 오늘은 가치투자방법에 대한 이야기로 내용을 시작해보겠습니다. 우선 우리나라 가치투자자들이 주로 하는 투자방식은 크게 두가지인것 같습니다 첫째. 개별종목의 적정주가를 측정하여 내재가치 대비 시장가치가 낮은 종목을 매수 둘째. 재무제표 및 기업을 둘러산 내/외부 환경을 분석하여 퀀텀점프 할 수 있는 요인을 발견하면 해당 종목을 매수 상기 두가지 방식 중에서 첫번째 방식보다는 두번째 방식을 활용하는 가치투자자가 훨씬 많은것 같습니다. 이유를 추측해보건데 첫번째 방식은 모든 기업(혹은 개별기업)의

[퀀트투자 전략] 성장주 투자전략 (feat. 투자의정석) [내부링크]

안녕하세요~! 퀀스택스 입니다. 오늘 소개해드린 투자전략 및 데이터 관련 질문은 아래에 있는 퀀스택스 커뮤니티에서 해주시기 바랍니다. 퀀트투자와 관련된 이야기를 자유롭게 나눌 수 있습니다. * 비번 : quanstax Quant 커뮤니티 #퀀트킹 #퀀트박스 #퀀트투자 #퀀트 #젠포트 #테일러 #국내주식 #주식투자 open.kakao.com 오늘은 2011년 5월 16일에 동부증권에서 발간한 전설의 리포트 '투자의 정석 (헤게모니)' 리포트 내용을 토대로 성장주를 정의하고, 성장주를 선별하는 방법과 이를 활용한 투자전략을 소개해드리도록 하겠습니다. 성장주란? 가치투자자 관점에서 주가는 중장기적으로 기업의 내재가치에 수렴하므로 기업의 질적/양적 성장을 통해 내재가치가 꾸준하게 성장하는 기업을 선별하는것은 매우 중요한 작업입니다. 여기서 향후 내재가치가 큰 폭으로 성장할것으로 예상되는 기업을 '성장주'라고 합니다. 보통 '성장주'로 각광받는 기업들이 갖는 공통적인 특징은 차별화된 기술력(

차트 여러개 그리기, 텔레그램에 차트 전송, 텔레그램 반응봇 [내부링크]

텔레그램으로 종목명을 입력하면 각종 재무데이터와 지표를 이미지로 송출하는 봇을 개발하려고 함 아래의 이미지는 예전에 엑셀로 만든 재무데이타 간편 분석기인데 여기에 몇가지를 추가할 예정 아래의 이미지에서 추가할 것들 RIM, 채권형 주식 Valuation 방법으로 산출한 적정주가를 추가, 듀퐁분석 현금흐름표 https://selfimprove39.tistory.com/entry/python-matplotlib-%EA%B7%B8%EB%9E%98%ED%94%84-%EC%97%AC%EB%9F%AC-%EA%B0%9C-%EA%B7%B8%EB%A6%AC%EB%8A%94-%EB%B0%A9%EB%B2%95 [python] matplotlib 그래프 여러 개 그리는 방법 [python] matplotlib 그래프 여러 개 그리는 방법 matplotlib 를 활용하여 한 번에 그래프를 여러 개 그리는 방법을 알아보자. 1. 라이브러리 import import matplotlib.pyplot as plt

[퀀트투자 전략] 탱탱볼 전략 (짤짤이전략 업그레이드, 연복리 32%, MDD -15%) [내부링크]

안녕하세요! 퀀스택스 입니다. 본 주제에 들어가기 앞서 ,,, 저번에 소개해드린 짤짤이 전략 매매 시스템은 거의 완성되었습니다. 현재 모의투자로 시스템 트레이딩을 진행하고 있으며 버그를 계속 잡으면서 시스템을 안정화하고 있습니다. 매매성과는 2종목밖에 거래를 안했지만 둘다 수익으로 마감하였습니다. 얼른 시스템을 안정화해서 트레이딩 시스템 구조와 짤짤이 전략 성과를 공유하도록 하겠습니다. 짤짤이 전략 매매내역 그리고 이번에 시스템 트레이딩 커뮤니티 채널을 하나 만들었습니다. 커뮤니티에서는 주로 퀀트와 시스템 트레이딩에 대한 얘기를 하고자 합니다. 그리고 제가 올리는 글에 대한 질문도 여기서 받고 있습니다. 많은 관심 부탁드립니다 https://t.me/quantstaxx_community 퀀스택스 커뮤니티 You can view and join @quantstaxx_community right away. t.me 오늘 소개해 드릴 전략은 '탱탱볼 전략' 입니다. 탱탱볼 전략이란? 저번

개별종목 분석 시스템 개발 [내부링크]

안녕하세요, 퀀스택스 입니다 다들 설 연휴는 잘 보내셨나요? 저는 설 연휴기간동안 밥도 많이 묵고 잠도 많이자고 ,,, 현재 운용하고 있는 시스템의 수정보완도 많이 했습니다 ㅎㅎ 그리고 설 연휴동안 개별종목을 다각도로 분석할 수 있는 시스템을 하나 개발했는데요, 저번에 포스팅 한 글을 토대로 개발하였습니다. https://blog.naver.com/okshin23432/222985388820 차트 여러개 그리기, 텔레그램에 차트 전송, 텔레그램 반응봇 텔레그램으로 종목명을 입력하면 각종 재무데이터와 지표를 이미지로 송출하는 봇을 개발하려고 함 아래의 ... blog.naver.com 요런식으로 분석 기간과 종목명을 입력하면 맨 아래와 같은 차트가 표시됩니다. 그런데 맨 오른쪽 열은 차트가 없는데요, 어떤 데이터를 보여줘야할지 감이 안와서 일단 비워놨습니다. 어떤 데이터를 넣으면 좋을지 댓글로 남겨주세요! if __name__ == '__main__': backtest = Backte

[퀀트투자] 코스닥 소형주 + 마켓타이밍 (Feat. 퀀트박스) [내부링크]

안녕하세요, 퀀스택스 입니다. 오늘 소개해드린 투자전략 및 데이터 관련 질문은 아래에 있는 퀀스택스 커뮤니티에서 해주시기 바랍니다. 퀀트투자와 관련된 이야기를 자유롭게 나눌 수 있습니다. * 비번 : quanstax https://open.kakao.com/o/gasnoL8e Quant 커뮤니티 #퀀트킹 #퀀트박스 #퀀트투자 #퀀트 #젠포트 #테일러 #국내주식 #주식투자 open.kakao.com 오늘은 코스닥 지수로 마켓타이밍 지표를 만들고, 시장이 상승추세 일 때 소형주를 매매하는 전략을 소개하도록 하겠습니다. 마켓타이밍 전략이란? - 계랑화가 가능한 기준을 설정하여 상승장과 하락장을 정의 - 상승장에는 주식을 매수, 하락장에는 주식을 매도 대표적인 마켓타이밍 전략으로 단기, 장기 이동평균을 비교하는 방법이 있습니다. 주로 단기 이동평균 > 장기 이동평균 이면 주식을 매수, 반대의 경우 주식을 매도 합니다. 저는 이 대표적인 전략을 아주 조금 수정하여 새로운 마켓타이밍 전략을 만

넘파이 3개의 행렬에서 큰 값 찾기 [내부링크]

a = np.random.randint(1,10,size = 10) b = np.random.randint(1,10,size = 10) c = np.random.randint(1,10,size = 10) print(a) print(b) print(c) print(np.maximum.reduce([a,b,c]))

[퀀트투자] 이더리움 변동성 돌파전략 (시뮬레이터 속도개선) [내부링크]

안녕하세요, 퀀스택스 입니다. 다들 크리스마스 잘 보내셨나요? 저는 올해도 역시나 혼자서 크리스마스를 보냈습니다만 ^^;; 조금이라도 알차게 크리스마스를 보내고자 열심히 개발을 했습니다. 이번 주말의 주요 결과물은 다음과 같습니다 가상화폐 트레이딩 시스템 개선 가상화폐 시뮬레이터 고도화 1번은 각 코인별로 베팅사이즈 갱신, 진입가 계산을 하는 부분에서 예외처리가 잘못되어 있어서 수정하였습니다. 이 작업은 어느 부분에서 오류가 가장 많이 발생하는지 알았기 떄문에 어떻게 수정해야 효율적인지를 알고 있었으므로 빠르게 코드를 수정할 수 있었습니다. 2번은 제가 최근에 개발한 국내주식 시뮬레이터를 코인 데이터에 적용하였습니다. 이로써 수정보완 하여 백테스팅 속도를 줄였습니다. 사실 이 작업은 굉장히 간단한 작업이지만 거래소에서 제공하는 코인 데이터가 워낙 개판이라 데이터 전처리에 애를 좀 먹었습니다. 새로운 시뮬레이터는 벡터라이제이션과 브로드캐스팅 그리고 멀티프로세싱으로 데이터를 처리하므로

2022년 시장 복기 (하락장을 이겨낼 수 있는 가장 쉬운 방법) [내부링크]

안녕하세요, 퀀스택스 입니다. 오늘 소개해드린 투자전략 및 데이터 관련 질문은 아래에 있는 퀀스택스 커뮤니티에서 해주시기 바랍니다. 퀀트투자와 관련된 이야기를 자유롭게 나눌 수 있습니다. * 비번 : quanstax Quant 커뮤니티 #퀀트킹 #퀀트박스 #퀀트투자 #퀀트 #젠포트 #테일러 #국내주식 #주식투자 open.kakao.com 오늘로써 2022년 주식시장이 마무리 되었습니다. 다들 올 한해 투자성과는 어떠신가요? 저는 올해 약 19% 수익으로 마감하였습니다. 올 한해 주식시장 흐름을 살펴보면 고점과 저점을 모두 내리면서 하락추세가 지속되었는데요, 이처럼 어려운 시장상황에서도 제가 수익을 낼 수 있었던 이유는 '시장 하락에 대응할 수 있는 방어장치'를 갖추고 있었기 때문이었습니다. 그리고 이 방어장치는 지수가 하락할 때마다 꾸준히 수익을 가져다 주었습니다. 저의 방어장치가 궁금하신 분들은 하단의 링크를 참고하시기 바랍니다. 참고로 제가 시장이 하락할 때 매매하는 자산은 코스

[퀀트투자 전략] 스퀴즈 + 마켓타이밍 투자전략 (눈물닦고 반등을 노리자) [내부링크]

안녕하세요, 퀀스택스 입니다. 오늘 소개해드린 투자전략 및 데이터 관련 질문은 아래에 있는 퀀스택스 커뮤니티에서 해주시기 바랍니다. 퀀트투자와 관련된 이야기를 자유롭게 나눌 수 있습니다. * 비번 : quanstax https://open.kakao.com/o/gasnoL8e Quant 커뮤니티 #퀀트킹 #퀀트박스 #퀀트투자 #퀀트 #젠포트 #테일러 #국내주식 #주식투자 open.kakao.com 2023년에는 국내주식 시장이 강하게 반등하길 기원하고 있습니다만 ,,, 우리의 바램과는 다르게 2023년 첫번째, 두번째 영업일동안 국내 주식시장은 하락세를 이어나갔고, 대부분의 종목들이 약세흐름을 보이면서 어려운 투자환경이 지속되고 있는 상황입니다. 그러나 난세속에서 영웅이 탄생하는 법 ,,, 최근 어려운 시장환경에서도 주가가 강하게 상승하고 있는 종목이 일부 있습니다. 이러한 종목을 보유하고 있으면 약세장에서도 수익을 조금씩 쌓아나갈 수 있을겁니다. 그래서 오늘은 약세장에서 강하게 상

[퀀트투자 전략] 1% 짤짤이 전략 (연복리 40%, MDD -5%) [내부링크]

안녕하세요~! 퀀스택스입니다! 오늘 소개해드린 투자전략 및 데이터 관련 질문은 아래에 있는 퀀스택스 커뮤니티에서 해주시기 바랍니다. 퀀트투자와 관련된 이야기를 자유롭게 나눌 수 있습니다. * 비번 : quanstax Quant 커뮤니티 #퀀트킹 #퀀트박스 #퀀트투자 #퀀트 #젠포트 #테일러 #국내주식 #주식투자 open.kakao.com 오늘 소개해드릴 단기 트레이딩 전략은 '1% 짤짤이 전략' 입니다. 1% 짤짤이 전략이란? 위의 사진에서 보이는것 처럼 주가가 볼린저밴드 하단을 하향돌파할 때 진입하고, 목표가와 손절가를 매수가 대비 + / - 1% 짧게 잡고 트레이딩 하는 일종의 역추세(평균회귀 전략) 입니다. 주가가 과매도권으로 진입하였을 때 정말 짧은시간동안 한번쯤은 반등을 시도할 것이라는 가정하에 개발한 전략입니다. 상세조건은 아래와 같습니다 1) 매수조건 볼린저밴드 이동평균기간 50, 표준편차 2 사용 볼린저밴드 폭 <= 10% 전일종가 > 전일 볼린저밴드 하단 상기 조건을

나락장에서도 수익을 쌓는 방법 (변동성 돌파전략) [내부링크]

안녕하세요, 퀀스택스 입니다. 오늘 소개해드린 투자전략 및 데이터 관련 질문은 아래에 있는 퀀스택스 커뮤니티에서 해주시기 바랍니다. 퀀트투자와 관련된 이야기를 자유롭게 나눌 수 있습니다. * 비번 : quanstax https://open.kakao.com/o/gasnoL8e Quant 커뮤니티 #퀀트킹 #퀀트박스 #퀀트투자 #퀀트 #젠포트 #테일러 #국내주식 #주식투자 open.kakao.com 오늘은 제가 정말 좋아하는 추세추종 전략인 변동성 돌파전략을 활용하여 나락장에서도 수익을 쌓는 방법에 대해 설명하도록 하겠습니다. 변동성 돌파전략이란? 미국의 전설적인 트레이더 래리 윌리엄스가 개발한 추세추종 기반 매매전략입니다. 매매로직은 굉장히 단순하지만 강력한 성과를 기록하는 전략이기에 한 때 전세계적으로 굉장히 핫했던 전략입니다. 지금도 구글에 '변동성 돌파전략'을 검색해보면 이와 관련된 글이 엄청나게 많이 나오고 있습니다. 변동성 돌파전략에 대해 모르시는분들은 구글링 해보세요~!

퀀트박스로 변동성 돌파전략 구현하기 [내부링크]

안녕하세요, 퀀스택스 입니다 오늘 소개해드린 투자전략 및 데이터 관련 질문은 아래에 있는 퀀스택스 커뮤니티에서 해주시기 바랍니다. 퀀트투자와 관련된 이야기를 자유롭게 나눌 수 있습니다. * 비번 : quanstax https://open.kakao.com/o/gasnoL8e Quant 커뮤니티 #퀀트킹 #퀀트박스 #퀀트투자 #퀀트 #젠포트 #테일러 #국내주식 #주식투자 open.kakao.com 지난번에 나락장에서도 수익을 쌓을 수 있는 방법으로 변동성 돌파전략을 소개해 드렸는데요, 오늘은 퀀트박스를 활용하여 변동성 돌파전략을 구현해 보도록 하겠습니다. 이전에 작성한 글은 아래 링크를 참고하시기 바랍니다. https://blog.naver.com/okshin23432/222932302779 참고로!! 변동성 돌파전략은 젠포트로 구현할 수 없습니다. 이유는 매수가격을 만들 때 ‘당일 시가’를 포함해야 하는데 젠포트에서 매수가격 수식을 만들 때 전일시가, 전일고가, 전일저가, 전일종가의

[퀀트투자] 투자성과를 높일 수 있는 성장률 팩터는? (재무팩터10분위 테스트 1) [내부링크]

안녕하세요! 퀀스택스 입니다. 오늘 소개해드린 투자전략 및 데이터 관련 질문은 아래에 있는 퀀스택스 커뮤니티에서 해주시기 바랍니다. 퀀트투자와 관련된 이야기를 자유롭게 나눌 수 있습니다. * 비번 : quanstax https://open.kakao.com/o/gasnoL8e Quant 커뮤니티 #퀀트킹 #퀀트박스 #퀀트투자 #퀀트 #젠포트 #테일러 #국내주식 #주식투자 open.kakao.com 앞으로 주요 재무팩터의 효용성을 검증하기 위해 각 팩터별로 10분위 테스트 한 결과를 올릴 예정입니다. 이 테스트를 진행하는 이유는 어떤 가치팩터를 사용했을 때 수익률을 극대화 할 수 있는지 명확하게 파악하기 위함입니다. 대다수의 가치투자자들은 기업의 실적 성장여부는 주가의 중장기 추세를 결정하고 실적 성장폭은 주가의 기울기를 결정하므로 실적 성장폭이 큰 기업에 투자를 하면 투자성과를 높일 수 있다고 생각합니다. 그래서 오늘은 '기업의 성장'을 보여주는 팩터인 매출액, 영업이익, 순이익 증

[퀀트투자] PER 별론데 ,,,??(재무팩터 10분위 단위테스트 2) [내부링크]

오늘 소개해드린 투자전략 및 데이터 관련 질문은 아래에 있는 퀀스택스 커뮤니티에서 해주시기 바랍니다. 퀀트투자와 관련된 이야기를 자유롭게 나눌 수 있습니다. * 비번 : quanstax https://open.kakao.com/o/gasnoL8e Quant 커뮤니티 #퀀트킹 #퀀트박스 #퀀트투자 #퀀트 #젠포트 #테일러 #국내주식 #주식투자 open.kakao.com 저번에 매출액, 영업이익, 순이익 증감률 팩터를 대상으로 10분위 테스트를 진행하였습니다. 이전 테스트 결과에서는 상위 분위에 있는 종목을 매수할수록 좋은 성과를 기록한 것을 확인할 수 있었습니다. 이전글은 아래 링크를 참고하시기 바랍니다. https://blog.naver.com/okshin23432/222956461416 [퀀트투자] 투자성과를 높일 수 있는 성장률 팩터는? (재무팩터10분위 테스트 1) 안녕하세요! 퀀스택스 입니다. 앞으로 주요 재무팩터의 효용성을 검증하기 위해 각 팩터별로 10분위 테스트... b

우리나라 비코딩 퀀트 프로그램 비교 (퀀트킹, 테일러, 젠포트, 퀀트박스) [내부링크]

코로나 판데믹 이후 직접투자를 수행하는 개인투자자의 수가 급증하였습니다. 이유는 여러가지가 있습니다만, 제가 생각하는 주요 원인은 1) 액티브 펀드의 저조한 운용 성과, 2) 개인투자자들의 투자지식 상향 평준화 이 두가지 입니다. 1) 액티브 펀드의 저조한 운용성과 - 액티브 펀드의 수익률이 단순히 지수에 투자(패시브 투자)하는 것보다 수익률이 저조하다 보니 투자자들이 실망감을 느끼고 액티브 펀드에서 자금을 회수하고 본인이 직접 투자를 하는 투자자의 수가 증가하였습니다. 2) 개인투자자들의 투자지식 상향 평준화 - 정보통신 기술의 발달로 인해 투자 전문가와 개인투자자 간의 정보 비대칭 현상이 크게 감소하였고, SNS가 발전하면서 투자의 대가들이 본인의 투자노하우나 투자지식을 공유하는 환경이 조성되었습니다. 이에 많은 개인투자자들이 그들의 영상을 보면서 지식을 습득하고 동기부여를 할 수 있게 되면서 자연스럽게 투자지식이 상향 평준화 되었다고 생각합니다. 이러한 환경이 조성되는데 국내의

백테스팅 기능 상세 분석 (백테스팅 효율성을 높이는 방법) [내부링크]

안녕하세요, 퀀스택스(Quantstaxx) 입니다. 지난번에는 국내 비코딩 프로그램에 대해서 간단하게 소개해 드렸는데요, 오늘은 각 프로그램에서 백테스팅을 수행할 때 사용할 수 있는 데이터와 기능에 대해서 알아보도록 하겠습니다. 다들 아시다시피 각 프로그램마다 사용할 수 있는 데이터와 기능은 각기 다릅니다. 그래서 동일한 전략을 만들어도 각 프로그램마다 백테스팅을 돌리면 각기 다른 결과값을 보여주곤 합니다. 그래서 왜 이러한 현상이 발생했는지, 각 프로그램마다 백테스팅이 어떻게 진행되는지 파악하는 것이 좋습니다. 물론 각 프로그램의 내부 로직을 까볼 수 없기 때문에 백테스팅이 어떻게 진행되는지 명확하게 파악하기는 어려우나 백테스팅 결과와 매매내역을 보면 각 프로그램마다 백테스팅이 어떻게 진행되는지 대충 파악할 수 있습니다. 그리고 이를 파악하게 되면 향후에 새로운 투자전략을 개발할 때마다 어떤 프로그램을 사용하는 것이 더 나은 성과를 도출할 수 있을지 예측할 수 있기 때문에 백테스팅

비트코인 역매매전략 개선중 [내부링크]

바이비트 역매매 전략 매매 시스템 안정화 작업은 거의 마무리가 되었고, 매매성과를 극대화 할 수 있는 방법에 대해 많은 연구를 하고 있다. 현재 운용하고 있는 전략의 성과를 평가해보자면 괜찮다!! 다만, 매매횟수가 낮다는 단점이 있는데,,, 그래서 이 점을 보완하기 위해서 볼린저밴드 기간을 줄이고, 대신 매매횟수가 많아지면 그만큼 손실거래횟수와 손익비가 낮아지므로 손절폭도 같이 줄였다. 검증 결과를 보면 ,, 밴드폭 기간과 손절폭을 수정한 전략이 수정하기 전 전략보다 훠얼씬 좋다. 다만 검증기간이 좀 짧기도 하고 이더리움과 리플에는 수정한 내용을 적용해보지 않았기 때문에 우선 빗코 매수전략에만 돌려보고 잠자는 시간에 백테스팅을 돌려놔봐야 겠다 [수정후] - 종목 : BTC/USDT - 최종수익률 : 279.56% - mdd : -17.56% - 매매횟수 : 819 - 승률 : 74.11% - 평균보유기간 : 11분 - 수익보유기간 : 5분 - 손실보유기간 : 5분 - 손익비 : 1.

바이비트 수수료 업데이트로 매매시스템 파기 ㅅㅂ [내부링크]

바이비트 수수료가 업데이트 되었다. 업데이트 되기 전에는 지정가 주문시 -0.025%를 payback 해줬는데 업데이트 이후로는 0.01% 수수료를 지급해야 한다. 누군가에겐 이 변화가 작아보일수 있지만 ,,, 지정가 주문시 수수료를 payback 받아서 수익을 쌓아가는 전략을 운용하는 나에게는 굉장히 큰 변화이고 매우매우 킹받는 상황이다 ;;; 아래에 있는 백테스팅 전략을 보면 바이비크 수수료 업데이트가 얼마나 킹받는 업데이트인지 알 수 있다. 이번에 업데이트된 바이비트 수수료율 [수수료 업데이트 전] [수수료 업데이트 후] 열받노 ;; 일단 전략파기

스퀴즈전략 [내부링크]

input : bb_period(20), bb_stdev(2),unit(20); var : bb_top(0), bb_bot(0), band_width(0), band_position(0); bb_top = BollBandUp(bb_period,bb_stdev); bb_bot = BollBandDown(bb_period,bb_stdev); band_width = ((bb_top - bb_bot) / avg(bb_top,bb_bot)) * 100; Condition1 = lowest(band_width,30) == band_width and band_width <= 20; Condition2 = MarketPosition == 0 and (TotalTrades == 0 or (TotalTrades >= 1 and BarsSinceExit(1) >= 1)); Condition3 = TRIx(20) >= Ema(trix(20),10) ; condition4 = Ema(c,5) > Ema(c

Get the money : 네이버 블로그 [내부링크]

Bill Staxx through QuantQuant + Bill Staxx = Quanstaxx

이더리움 매수/매도 전략 [내부링크]

매매 거래소 >> 바이비트 백테스팅 데이터 >> 바이낸스 spot daily, minute data 백테스팅 기간 >> 데이터 제공 시점부터 현재까지 매수전략 - '총수익률' : 2737.8, - 'MDD': -29.58 - '매매횟수': 705 - '승률': 55.32 - '평균수익': 2.64 - '평균손실': -2.06 - '손익비': 1.28 2. 매도전략 -'총수익률': 410.0 - 'MDD': -24.56 - '매매횟수': 429 - '승률': 45.92- - '평균수익': 3.87 - '평균손실': -2.44 - '손익비': 1.59 3. 매수전략 + 매도전략 -'총수익률': 13976.36 - 'MDD': -36.72 - '매매횟수': 1131 - '승률': 51.81 - '평균수익': 3.05 - '평균손실': -2.22 - '손익비': 1.37 특징 일봉 이동평균선(5,20,60) 을 비교해서 1회당 트레이딩 리스크를 유동적으로 수정함 매수전략은 정배열이면 0.0

변동성 돌파전략에 FIL/USDT 추가 [내부링크]

오늘부터 FIL/USDT 를 추가하여 변동성 돌파전략을 운용하기로함 {'종목명': 'FIL/USDT', '총수익률': 559.94, 'MDD': -30.39, '매매횟수': 254, '승률': 52.36, '평균수익': 3.82, '평균손실': -2.47, '손익비': 1.55} {'종목명': 'FIL/USDT', '총수익률': 707.0, 'MDD': -18.89, '매매횟수': 166, '승률': 56.63, '평균수익': 4.21, '평균손실': -2.35, '손익비': 1.79}

코드 한줄로 원금대비 270배 먹기 [내부링크]

[개선 전] {'종목명': 'ETH/USDT', '총수익률': 2484.59, 'MDD': -48.74, '매매횟수': 724, '승률': 54.01, '평균수익': 2.78, '평균손실': -2.17, '손익비': 1.28} [개선 후] {'종목명': 'ETH/USDT', '총수익률': 2726.37, 'MDD': -23.66, '매매횟수': 594, '승률': 56.73, '평균수익': 2.56, '평균손실': -1.94, '손익비': 1.32} noise = abs((daily.close.shift(1) - daily.open.shift(1)) / (daily.high.shift(1) - daily.low.shift(1))) daily['k'] = np.maximum(0.5,noise) daily['volitary'] = np.maximum(0.03,round((daily.high.shift(1) - daily.low.shift(1)) / ((daily.high.shift(1)

시가갭 전략 [내부링크]

- 주가가 상승 혹은 하락추세를 나타내고 있는데 시가가 추세의 반대로 갭상하거나 갭락할 때 진입하는 전략 - 주가의 추세는 일봉 기준 2개의 이동평균선을 기준으로 파악 - 단기 이평 > 장기이평 ==> 상승추세 - 단기이평 < 장기이평 ==> 하락추세 - 주가가 상승추세일 때 시가가 갭락하면 매수진입 - 주가가 하락추세일 떄 시가가 갭상출발하면 매도진입 - 추적청산방식 사용 - 캔들 차트 밑에 있는 빨간선과 파란선은 단기이평과 장기이평임, 빨간선이 파란선보다 위에 있으면 상승추세 - 수익률 곡선은 나름 안정적으로 우상향 하는것으로 보임 - 수익을 극대화 하려면 매매횟수를 늘리고 청산방식을 조금 바꾸면 될듯

코스닥 1분봉 초단타 매매전략 [내부링크]

운용한지 4일밖에 안된 시스템이지만 굉장히 우수한 성과를 기록중이다 - 진입/청산 전략 :골든크로스와 데드크로스 시점에서 매수/매도 포지션을 진입하고 n개봉 중 고가/저가에서 청산 - 베팅사이즈 : 1계약 4일동안 65포인트(65만원 수익)수익을 기록하였다. 비교적 괜찮은 성과이다. 다만 아직 수정/보완해야 할 부분이 많다. 금일 장 초반 매도포지션에 진입하여 약 10만원 정도 평가수익이 발생하였으나 결국 손절청산하였다. 장 초반에 너무 큰 폭으로 갭상하거나 갭락할 경우 진입후 세번째 ~ 네번째 봉에서 청산하는 수식을 넣으면 괜찮을듯 10월 27일 트레이딩 내역

코스닥 단타 트레이딩 수정본 [내부링크]

코스닥 초단타 트레이딩 시스템을 운용한지 약 2주정도 되었다. 아직 수익중이긴 하나 목요일과 금요일 장중 휩소가 굉장히 많이 발생하여 손실이 꽤 누적되었다. 이러한 단점을 보완하기 위해 DI PLUS, DI MINUS를 추가하였다 그리고 청산로직과 재진입 로직을 조금 수정하였다 [수정 전] 로직을 수정한 결과 총거래횟수 감소, 승률 증가, 손익비가 개선되었다 굿!

시가갭을 이용한 시스템 [내부링크]

- 전략 : 장 초반 시가갭이 n포인트 이상 발생하면 진입하는 전략 - 전략의 특성 : 시가갭 포인트가 크면 클수록 승률이 높아짐. 그래서 시가갭이 클수록 베팅사이즈는 증가 - 진입전략 매도 : n포인트 이상 갭상하면 9시 7분 이내에 시가를 하향돌파하고 음봉이 나오면 진입 매수 : n포인트 이상 갭락하면 9시 7분 이내에 시가를 상향돌파하고 양봉이 나오면 진입 - 청산셋업 : 진입 후 10번째 봉에서 현재 손익을 구한후 n포인트 이상이면 청산로직 발동 1. 손익이 n포인트 이하이면 11번째 봉에서 청산 2. 손익이 n포인트 이상이면 1) 매수포지션 청산가는 max(진입가 +슬리피지 + 수수료,최근 8개봉의 저가) 2) 매도포지션 청산가는 min(진입가 - 슬리피지 - 수수료, 최근 8개봉의 고가)

비효율성 구간에서의 트레이딩 전략 [내부링크]

나는 개인적으로 시장이 급등락 할 때가 아닌 과매수/과매도 국면에 진입했을 때 시장이 비효율적이다! 라고 판단하며, 시장이 비효율적인 구간에서 큰 기회를 낼 수 있다고 생각한다. 대부분의 트레이더는 과매수 국면에서는 매도, 과매도 국면에서는 매수포지션을 잡고 트레이딩 하는 경우가 많다. 하지만 과매수 국면이라고 해서 향후 주가가 반드시 하락하는 것은 아니고 ! 혹은 과매도 국면이기 때문에 향후 주가가 반드시 상승하는 것은 아니기 때문에 과매수/과매도 구간에서 역추세추종 전략으로 수익을 내기가 쉽지 않다. 하지만 과매수/과매도 국면에서는 단기적으로 어느 한 쪽으로 방향을 잡으면서 변동성이 확대될 가능성은 굉장히 높다. 예를들어 주가가 과매수 국면에 진입했을 경우 주가는 변동성이 확대되면서 상승폭을 더욱 확대해 나갈수도 있고 혹은 주가가 너무 올랐기 때문에 단기적으로 차익실현 물량이 강하게 쏟아나올 수 있다. 그리고 과매도 국면에서의 주가흐름은 과매수 국면의 주가흐름과 반대로 나올것이다

시장이 극도로 비효율적일 때 수익을 내기 위한 전략 [내부링크]

나는 지금 시장이 극도로 '비효율적' 으로 움직이고 있다고 생각하며 이 시기를 잘 이용하면 굉장히 큰 수익을 낼 수 있다고 생각한다. 물론 코스닥 단기 트레이딩 시스템이 큰 수익을 내주고 있긴 하지만 데이 트레이딩 전략이라서 일간 연속으로 이어지는 추세를 먹지 못하는 단점이 있다. 이를 보안하고자 볼린저 밴드를 활용한 트레이딩 전략을 만들었다. 오늘 포스팅할 내용은 아래에 있는 11월 29일에 포스팅한 트레이딩 전략을 수정/보안하고 마무리 한 내용이다. https://blog.naver.com/okshin23432/222157381196 비효율성 구간에서의 트레이딩 전략 나는 개인적으로 시장이 급등락 할 때가 아닌 과매수/과매도 국면에 진입했을 때 시장이 비효율적이다! 라... blog.naver.com 이 전략을 간단하게 설명하자면 시장이 과매수 혹은 과매도 국면에 진입했을 때 비효율적으로 움직인다고 판단하고 진입하는 전략이다. 즉, 과매수/과매도 국면에 진입했을 때만 매매를 진행

시장의 비효율성을 활용한 투자전략 2편 [내부링크]

https://blog.naver.com/okshin23432/222165083365 시장이 극도로 비효율적일 때 수익을 내기 위한 전략 나는 지금 시장이 극도로 '비효율적' 으로 움직이고 있다고 생각하며 이 시기를 잘 이용하면 굉... blog.naver.com 수정보완 사항 1. %B가 15이하 혹은 85이상시 진입준비 2. 진입 추적봉 갯수는 9개 3. 청산 봉 갯수는 5개 4. TS조건은 최대수익이 18포인트일 때 발동 진입횟수가 2배 정도 많아졌고 승률이 4% 감소하였으나 최대손실(MDD)와 평균손실이 두배로 낮아졌으며, 보상비율이 2배 늘어남

중심값과 피봇값 매매, 그리고 단타시스템과 파라볼릭 [내부링크]

피봇값과 중심값을 합성해서 트레이딩을 하면 어떨까? 현재 래리윌리엄스의 변동성 돌파전략과 터틀의 자금관리 전략(이하 래터전략으로 명칭)을 합성한 전략을 활용하여 코스피 선물을 트레이딩 하고 있으나 코스피 선물은 타임프레임을 day로 적용해놓고 보면 일간 추세가 뚜렷하나, minute로 적용해놓고 보면 추세가 일정하게 유지되는 기간이 굉장히 짧다보니 래터전략의 성과가 불안정하다. 이러한 시장의 특성을 반영하여 코스피 선물지수에서 만들어지는 강력한 추세를 먹기 위한 추세추종 전략을 만들고 있었는데 ,,,, 최근 중심값을 가지고 아이디어를 만들어봤다. 지금까지 만든 전략을 간단하게 정리해보자면 중심값이 산출되면 중심값을 기준으로 + / - n포인트를 1차 지지,저항값으로 넣고 지지선을 이탈하면 매도, 저항선을 돌파하면 매수를 하는 전략이다. 근데 요렇게 하면 최근 선물 지수 변동성을 전혀 고려하지 않고 중심값에 고정된 포인트를 가산/가감 하는 것이기 때문에 진입/청산이 과도하게 빨라지거나

피봇시스템이 거의 다 완성되어감 [내부링크]

코스피 스윙 전략을 만들기 위해 피봇값을 활용하였음. 오늘은 늦었으니 대충 전략에 대한 내용과 백테스팅 결과물만 포스팅하도록 하겠음 우선 피봇값은 7개를 사용한다. 중심값을 기준으로 위아래로 지지/저항선을 3개씩 그림 1. 매수 1) max currententries == 4 2) 저항선 하나를 돌파할 때마다 매수 3) 오버나잇을 함 4) 지수가 바로 밑에 있는 저항/지지를 하향 돌파할 때 청산 5) 역추세 전략을 추가하여 중심값 밑에 있는 지지선을 상향돌파할 때 매수하며 청산은 당일청산 2. 매도 (아직 좀 더 만들어야댐) 1) 중심값 밑에 있는 지지선을 하향돌파할 때 마다 매도진입 2) 종가청산 3. 백테스팅 결과물 수수료 : 진입 청산 다 합쳐서 0.006% 슬리피지 : 진입청산 다 합쳐서 1틱

매수/매도/매수/매도 포지션을 번갈아서 잡으면? [내부링크]

//연결선물 5분봉 // 슬리피지 0.5틱, 수수료 0.006% ##### Delayed Chan BrkOut ##### Inputs: P1(100), P2(50); Variables: Top(0),Bot (0), PositionFlag(0); //Channel Calculation Top = Highest(High, P1)[P2]; Bot = Lowest(Low, P1)[P2]; # Top = 50개전 봉을 기준으로 100개 봉 내에서 가장 고가 # Bot = 50개전 봉을 기준으로 100개 봉 내에서 가장 저가 //Position direction variable assignment If MarketPosition == 1 Then PositionFlag = 1; If MarketPosition == -1 Then PositionFlag = -1; # 매수와 매도를 번갈아가면서 진입하기 위한 로직 //System Entries If PositionFlag <> 1 AND Mark

시장 상황에 따라 포지션 보유기간을 조절하는데 효율적인 청산전략 [내부링크]

불리한 상황에서는 포지션 보유기간을 짧게 유리한 상황에서는 포지션 보유기간을 길게! MP = MarketPosition; If MP == 1 and MP[1] <> 1 then # 현재 포지션이 매수이고 직전 포지션이 매수포지션이 아니였으면 StopPrice = Low - ma(Range,40); # stopprice는 저가 - 40봉 평균 변동폭 이동평균 If MP == -1 and MP[1] <> -1 then # 현재 포지션이 매도이고 직전봉 포지션이 매도가 아니라면(매수 혹은 무포지션이면) StopPrice = High + ma(Range,40); # stopprice는 고가 + 40개봉 평균 변동성 If MP == 1 then begin ExitLong("Top",AtLimit,hiband); Exitlong("EL",atstop,StopPrice); StopPrice = StopPrice + (Low - StopPrice)/div; End; If MP == -1 then

TRIX, ADX 모멘텀을 활용한 코스닥 150선물 트레이딩 전략 [내부링크]

1. TRIX란? [출처 : 예스트레이더] 불필요한 주가 변화를 제거하고 후행성의 문제를 극복하기 위해 고안된 지표로서, 지수이동평균을 3번한 값의 증가율을 나타낸 값이다. TRIX지표는 매우 매끄러운 곡선을 그리는 장점을 가지고 있으며, 0선을 축으로 등락을 반복한다. 1. TRIX가 방향을 바꿀 때, 즉 상승 반전될 때 매수 신호, 하락 반전될 때 매도 신호를 의미합니다. 2. TRIX의 이동 평균(Signal)을 구하여 TRIX가 signal 선을 상향 돌파 하는 순간이 매수 시점, 하향 돌파하는 순간이 매도 시점이 됩니다. 3. TRIX와 주가 추세 사이에서 Divergence가 발생하면 곧 주가 추세의 변환이 일어납니다. [공식] A - 종가의 n일 지수 이동 평균값 B - A의 값에 대해 n일 지수 이동 평균값 C - B의 값에 대해 n일 지수 이동 평균값 TRIX : (C-한봉전 C)/(한봉전 C)*100 2. ADX [출처 : 예스트레이더] ADX는 현재 진행중인 추세

알트코인 9시 매매전략 [내부링크]

(너무 비현실적인데 데이터를 뜯어보니 맞는것 같기도 하고 ,,,) - 매매시간 : 오전 거래량이 가장 많은 8시55분 부터 9시 20분까지, 20분에 포지션 전량청산 {'ticker': 'poly', '매매횟수': 83, '승률': 56.63, 'mdd': -10.76, '총수익률': 3746.0} {'ticker': 'mft', '매매횟수': 70, '승률': 58.57, 'mdd': -8.49, '총수익률': 3136.0} {'ticker': 'sc', '매매횟수': 53, '승률': 62.26, 'mdd': -5.76, '총수익률': 2796.0} ticker,Ts_Target,Ts_down,손절가,매매횟수,승률,mdd,총수익률 63,poly,0,2,5,83,56.63,-10.73,4083.0 52,mft,0,2,5,70,58.57,-8.49,3231.0 72,sc,0,2,5,53,62.26,-3.36,2943.0 1,aergo,0,2,5,70,51.43,-8.18,2904.0

2021-11-01 볼린저밴드 매도전략 수정 [내부링크]

수정 전 백테스팅 데이터 수정후 백테스팅 데이터 - 코드 수정 전후 성과가 크게 차이가 없어 보일 수 있으나 매매횟수를 보면 수정전은 1500회, 수정후는 940회이다 - 코드를 수정하고 매매횟수를 약 1/3 정도 낮추고 비슷한 성과를 기록하였다, 매매효율성이 높아진것이다 - 또한 시장 변동성에 따라 트레일링 스탑, 스탑로스 폭, 베팅사이즈를 조절하였다

Cross down Bollinger band 코스피 200 전략 [내부링크]

- 코스피 200 선물 - 8분봉 - 슬리피지 : 0 - 수수료 : 0.004% - 볼린저밴드 100, 2 - 볼린저밴드 상단, 하단을 CrossDown 할 때 진입하는 전략 - 진입후 n개봉 움직임이 n포인트 이하면 청산 - 주가 위치에 따라 trailingstop조건 변경 - 종가청산

Cross up Bollinger Band 코스피 200 [내부링크]

- 코스피 200 선물 - 10분봉, 갭보정 X - 매매시간 : 9시 30분 ~ 2시까지 - 볼린저밴드 200,2 - 금요일이거나 동시호가에 diplus가 diminus보다 작으면 종가청산, 아니면 오버나잇 ### - 옵션 만기일은 종가청산 - 볼린저밴드 바닥에서 매수하면 트레일링스탑을 짧게

코스닥 스윙 매도전략 수정 [내부링크]

최근 국내외 금융시장 뿐만 아니라 코인 시장까지 나락을 가고 있지만, 다행히도 나는 선물시스템 덕분에 나락장에서도 꾸준히 수익을 내고 있다. 다만, 오늘 좀 아쉬웠던 점이 있었는데 매도전략 시스템 일부가 포지션 진입을 안한것이다. 코드를 복기해보니 변동성이 너무크면 진입을 안하도록 포지션 진입 셋업을 해두었다. 최근 시장이 급락하면서 변동성이 급격하게 확대되었는데 이 조건떄문에 포지션 진입을 안한것이다. 그래서 코드 수정을 했고 백테스팅을 해본 결과 매매횟수는 별로 늘어나지 않았으나 최종 성과가 굉장히 크게 늘어났다. 결국 변동성 조건은 비효율적인 코드였고 삭제해버렸다.

코스피 볼린저밴드 돌파전략 [내부링크]

Crossdown 코스피 전략 수정 [수정전] [수정후]

래리윌리엄스 변동성 돌파전략 수정 - 코스닥150선물 [내부링크]

/* - 코스닥 변동성 돌파전략 - 1분봉 사용 - 추가매수 1번만 허용 >> 기존에는 피라미딩을 허용하지 않음 - 만기일, 주말 청산 추가 - 진입 수식을 간편하게 작성 - LTR (WEIGHT) 가 15포인트를 넘어가면 추가매수는 없음 - 최초진입가격은 당일저가 + LTR, 아니라면 당일 고가 - 최초진입시간은 9시10분 이후에 가능 - 수수료는 0.006% - 슬리피지 2틱 - 갭보정 */ - 개장직후 10분이 지나고 나서 신규진입을 가능하도록 했더니 성과가 굉장히 좋아짐! [수정전] [수정후]

코스닥 선물, 볼린저밴드 매수전략 [내부링크]

볼린저밴드 파라미터 >> 200, 2 차트 >> 8분봉, 갭보정 X 매수조건1 >> Band width >= 8 매수조건2 >> 지수가 볼밴 하단 * 1.01을 Cross up, 최근 15개봉 내에서 매수가격 >> 최근 10개봉의 최고가 + 1pt 매도가격 1 >> 볼밴하단 Time cut >> 15시 30분 최근 3개봉 내에서 5포인트 이상 수익이 안나면 청산 승률은 48.05% 밖에 안되나 손익비가 극강임

코스닥 변동성 돌파전략 전략 개선 [내부링크]

지금 운용하고 있는 전략 코드를 잘못짜서 장중에 매매가 엄청나게 많이 발생함, 백테스팅 상 매매횟수의 2배 이상 매매시그널이 발생했기 때문에 전략을 수정함 /* - 코스닥 변동성 돌파전략 - 매도 - 1분봉 사용, 갭보정 없음 - 만기일, 주말 청산 추가 - 진입 수식을 간편하게 작성 - 시가갭이 -1.5% 이하면 진입시간을 늦춤 - 수수료는 0.006% - 슬리피지 2틱 - 9시 20분 이내에 포지션이 잡혀있으면 진입가 - str * 0.9에 청산 >> 개장초반에 거래대금이 몰리면서 발생할 수 있는 휩소를 피하기 위함 */ 매매횟수가 많은 이유는 진입 직후 5개 봉 내에서 1포인트 이상 수익이 안나면 바로 청산시킴 수익률 곡선이 조금 더 완만하게 그려짐 전략 수정 전 성과 그래프 전략 수정 전 성과표 전략 수정 후 성과그래프 전략 수정 후 성과표

Get the money : 네이버 블로그 [내부링크]

Bill Staxx through QuantQuant + Bill Staxx = Quanstaxx

Get the money : 네이버 블로그 [내부링크]

Bill Staxx through QuantQuant + Bill Staxx = Quanstaxx

코스피 이동평균선을 이용한 마켓타이밍 전략 [내부링크]

오늘은 코스피 이동평균선을 활용한 마켓타이밍 전략을 검증해본다. 대다수의 투자자들이 코스피 이동평균 지수가 정배열일 때 보유, 역배열일 때 청산하는 전략의 성과가 좋다고 인지하고 있는데, 과연 이 내용이 사실인지 체크해보자 1. 마켓타이밍 정배열 (20, 60일 이동평균 사용) 진입 : 전일 코스피 이동평균선 20일 > 전일 코스피 이동평균선 60일 청산 : 전일 코스피 이동평균선 20일 < 전일 코스피 이동평균선 60일 검증기간 : 2000-01-01 ~ 2022-09-24 유니버스 : 코스피 전종목 수수료 : 0.0026 수익률 : 456% (122%) 연복리 : 8% (6%) MDD : 21% (47%) * 괄호 안에 수치는 Log 수익률을 반영한 수치임 로그수익률로 변환하면 MDD가 47%대로 상당히 높아서 후달리긴 하지만,,, 단순 수익률로 계산하면 MDD가 21% 이고 연복리도 8%라 나쁘지 않은것 같다. 참고로 단순 누적수익률과 로그 누적수익률의 차이를 이해하려면 아래

개별종목 마켓타이밍 VS 코스피 마켓타이밍 [내부링크]

본론으로 들어가기 전에 ,,, 9월 30일 ~ 10월 3일동안 통영/거제 여행을 다녀왔다 ~~ 10월 2일에 거제도에 있었는데 바다에서 불피우고 불멍 + 바다멍을 하고 있는데, 해양 플랑크톤(야광충)이 바다에 넓게 퍼져서 파도가 칠 때마다 바다가 빛나는 아름다운 현상을 목격했다 ~~ 나만 보기 아쉬우니 공유 ㅋ 자 그럼 지금부터 본론으로 들어가보자 이전에는 코스피 이동평균선을 분석하여 매수 조건을 충족하면 전 종목을 매수하고, 매도조건을 충족하면 전 종목을 매도하는 전략을 검증했고, 이번에는 개별종목의 이동평균선을 분석하여 매수조건을 충족하는 종목만 매수, 매도조건을 충족하면 매도 하는 전략을 검증해본다. 이전에 작성한 코스피 이동평균선 마켓타이밍 전략은 아래를 참고하시길 https://blog.naver.com/okshin23432/222888540273 코스피 이동평균선을 이용한 마켓타이밍 전략 오늘은 코스피 이동평균선을 활용한 마켓타이밍 전략을 검증해본다. 대다수의 투자자들이

[퀀트투자] 극락으로 가기 위한 매매구간 (시즈널리티 분석) [내부링크]

퀀트킹 오픈채팅방을 보면 많은 분들이 올해 11월에 매수해서 내년 4월에 매도를 하는 리밸런싱 전략을 찬양하고 있다. 이유는 우리나라 퀀트투자의 대가인 강환국님께서 11월 매수 ~ 내년 4월 매도 리밸런싱 전략의 성과가 좋다고 자주 언급하셨기 때문이다. 그래서 나는 이 내용이 맞는지 검증해보았다. 1. 올해 특정 월에 매수, 올해 특정 월에 매도 우선 올해 특정 월에 매수해서, 올해 특정 월에 매도하는 리밸런싱 전략을 검증해보았다. [참고] Return : 최종수익률 CAGR : 연복리 환산 수익률 STDEV : 표준편차 MDD : 자산 최고치 대비 낙폭 Recover_Period : MDD 갱신 후 DD가 0 이 되는데 걸리는 시간 VAR1 : 매수 월 VAR2 : 매도 월 var1은 매수 월, var2는 매도 월 이다. 예를들어 var1값이 1이고 var2값이 2이면 1월 초 매수, 2월말 매도 하는 것이다. 각 케이스별 성과값은 아래 파일을 참고하시길 첨부파일 월간효과_일반.x

소형주 효과는 구라입니까? - 소형주효과 1편 [내부링크]

오늘 소개해드린 투자전략 및 데이터 관련 질문은 아래에 있는 퀀스택스 커뮤니티에서 해주시기 바랍니다. 퀀트투자와 관련된 이야기를 자유롭게 나눌 수 있습니다. * 비번 : quanstax Quant 커뮤니티 #퀀트킹 #퀀트박스 #퀀트투자 #퀀트 #젠포트 #테일러 #국내주식 #주식투자 open.kakao.com 소형주와 대형주를 나누는 기준은 시가총액이며 대충 상위 20% 에 포함된 종목을 대형주, 하위 20%에 포함된 종목을 소형주라고 부른다. 그리고 대형주 보다는 소형주에 투자하는것이 수익률이 더 좋다는 사실이 알려지면서 '소형주 효과' 라는 단어가 만들어졌다. 그렇다면 정말 소형주를 매수하면 대형주보다 성과가 좋은지 확인해보았다. 1. 매수조건 : 전일 시가총액 상위 20% 종목 2. 매도조건 : 전일 시가총액 상위 20% 미포함 상기 조건은 일간 단위로 상위 20%에 포함된 종목을 매수하고, 상위 20%에 포함되지 않으면 매도를 하는 전략이다. 거래소 별로 나눠서 테스트 했으며

의외로 빠따가 부실한 코스닥 소형주 - 소형주 효과 2 [내부링크]

오늘 소개해드린 투자전략 및 데이터 관련 질문은 아래에 있는 퀀스택스 커뮤니티에서 해주시기 바랍니다. 퀀트투자와 관련된 이야기를 자유롭게 나눌 수 있습니다. * 비번 : quanstax https://open.kakao.com/o/gasnoL8e Quant 커뮤니티 #퀀트킹 #퀀트박스 #퀀트투자 #퀀트 #젠포트 #테일러 #국내주식 #주식투자 open.kakao.com 일전에 시가총액을 기준으로 유니버스(매매후보군)을 설정하여 시가총액 상위/하위 n%에 있는 종목을 일간 단위로 편입/편출 하는 매매 전략을 검증해었죠, 지난번에 검증한 전략은 모멘텀이 떨어지는 종목을 버리고 모멘텀이 살아나는 종목을 매수하는 일종의 '모멘텀 전략'으로 시가총액 상위 20% 종목을 매매하는것이 더 좋은 성과를 기록했습니다. 이전에 작성한 자료를 안보신분들은 아래 링크를 참고하이소 ~~ https://blog.naver.com/okshin23432/222894421962 소형주 효과는 구라입니까? 소형주와