develop custom_top_html:no
default debug random = 2 / type = READ / detected = READ

 

For the last 6 months I have been focused on the process of building the full technology stack of an automated trading system. I have come across many challenges and learnt a great deal about the two different methods of backtesting  (Vectorised and Event driven). In my journey to building an event driven backtester, it came to my surprise that what you would end up with is close to the full technology stack needed to build a strategy, backtest it, and run live execution.
 
My biggest problem when tackling the problem was a lack of knowledge. I looked in many places for an introduction to building the technology or a blog that would guide me. I did find a few resources that I am going to share with you today.
 

For Beginners:

For the readers new to quantitative trading I would recommend Ernie P. Chan’s book titled: Quantitative Trading: How to build your own algorithmic trading business. This book is the basics. It’s actually the first book I read on quantitative trading and even then I found it very basic but there are some notes you should take.
 
From page 81-84 Ernie writes about how at the retail level a system architecture can be split up into semi-automated and fully automated strategies.
 
A semi-automated system is suitable if you want to place a few trades a week. Ernie recommends using Matlab, R, or even Excel. I have used all 3 platforms and this is my advice:
 
  1. Skip Matlab, it cost a lot of money and I could only get access to it at the university laboratories. There isn’t a lot of training material like blogs or books that will teach you how to code a strategy using Matlab.
  2. R has tons of resources that you can make use of in order to learn how to build a strategy. My favorite blog covering the topic is: QuantStratTradeR  run by Ilya Kipnis.
  3. Microsoft Excel is most likely where you will start if you don’t have programming experience. You can use Excel for semi-automated trading but it’s not going to do the trick when it comes to building the full technology stack.
Semi-automatic framework pg 81
 
Completely automated trading systems are for when you want to automatically place trades based on a live data feed. I coded mine in C#, QuantConnect also uses C#, QuantStart walks the reader through building it in Python, Quantopian uses Python,  HFT will most likely use C++. Java is also popular.
 
Completely automated trading framework pg 84
 

Step 1: Getting a head start

Do the Executive Program in Algorithmic Trading offered by QuantInsti.com. I just started the course and the very first set of lectures was on system architecture. It would have saved me about 3 months of research if I had started here. The lectures walked me through each component that I would need as well as detailed description of what each component needs to do. Below is a screen shot of one of their slides used in the presentation:
 
 
You can also use this general framework when evaluating other automatic trading systems.
 
At the time of writing I am only in the third week of lectures but I am confident that a practitioner will be able to build a fully automated trading strategy that could, with a bit of polish, be turned into the beginnings of a quantitative hedge fund.
 
Note: the course is not focused on building the technology stack.
 

Step 2: Code a basic event driven backtester

Michael Hallsmore’s blog quantstart.com & book “Successful Algorithmic Trading”
 
This book has sections dedicated to building a robust event driven backtester. He walks the reader through a number of chapters that will explain his choice of language, the different types of backtesting, the importance of event driven backtesting, and how to code the backtester.
 
Michael introduces the reader to the different classes needed in an object orientated design. He also teaches the reader to building a securities master database. It is here that you will see how the system architecture from QuantInsti fits in.
 
Note: You will need to purchase his book: “Successful Algorithmic Trading”, his blog leaves out too much information.
 
 

Step 3: Turn to TuringFinance.com

After completing:
 
  1. The EPAT program
  2. Reading “Successful Algorithmic Trading” & coding a backtester in a different language of your choice.
You should move onto a blog called TuringFinance.com and read the article titled “Algorithmic Trading System Architecture” By: Stuart Gordon Reid.   In his post he describes the architecture following the guidelines of the ISO/IEC/IEEE 42010 systems and software engineering architecture description standard.
 
I found this post very technical and it has some great ideas that you should incorporate into your own architecture.
 
 
A screen shot from his post
 

Step 4: Study open source trading systems.

4.1) Quantopian

It goes without saying that Quantopian should be added to this list and I am embarrassed to say that I haven’t spent a lot of time using their platform (due to my choice of language). Quantopian has many perks but the ones that stick out most to me are the following:
 
  1. Easy to learn Python
  2. Free access to many datasets
  3. A huge community and competitions
  4. I love how they host QuantCon!
Quantopian is the market leaders in this field and is loved by quants all over!  Their open source project is under the code name Zipline and this is a little bit about it:
 
“Zipline is our open-sourced engine that powers the backtester in the IDE. You can see the code repository in Github and contribute pull requests to the project. There is a Google group available for seeking help and facilitating discussions.”
 
Here is a link to their documentation:
 

4.2) QuantConnect

For those of you unfamiliar with QuantConnect, they provide a full open source algorithmic trading engine. Here is a link 
 
You should have a look at their code, study it, & give them praise. They are Quantopians competition.
 
I would like to take this opportunity to thank the QuantConnect team for letting me pick their brain and for the brilliant service they provide.
 
Here is a link to their documentation:
 

Concluding remarks:

I hope this guide helps the members of the community. I wish I had this insight 6 months ago when I started coding our system.
 
Questions to the Readers:
 
  1. I would like to reach out to the community and ask: “What good algorithmic trading courses do you know of?” I would like to write a post that looks into the topic and provides a ranking.
  2. Are there any recommendations to building a fully automated trading system that you would like to add to this post?
Kind regards
 

Jacques Joubert 

 

 

 

 

 

 

 

 

 

 

-------------------------------------

꼬리말

* 게시글 내용 삭제레벨 강등

* 질문은 각 주제별 게시판에.

 

비트코인 암호화화폐 커뮤니티 땡글~ 땡글~

-------------------------------------

9
댓글 1
  • ?
    현업에서 일하시는 개발자신가요? 프로그래머 겸 부업으로 퀀트 하시는지 궁금합니다.. 적은 자본으로 돌리는 전업퀀트에 대해서 어떻게 생각하시는지..
default debug random = 0 / type = READ / detected = READ

List of Articles
번호 분류 제목 추천 수 조회 수 글쓴이 날짜
860 개발 김치프리미엄 사이트를 오픈하였습니다 [엑스차트 v.beta 2.0] 땡글러 여러분 안녕하세요, 엑차입니다.   이번 x-chart 사이트 개편과 함께 김치프리미엄 차트를 오픈하였습니다.   세계시세(코인마켓캡)를 기준으로로, 국내 주요 5개 거래소-코인별 가격과 (... 7 file 7 4785
엑차
2018.03.11
859 개발 코인원 트레이딩 도우미 (베타버전)   안녕하세요 트레이딩봇이 아닌 트레이딩도우미 라고 이름 지은 이유는 자동 매수기능이 빠져 있기 때문 입니다. 사실 처음에는 자동 매수 기능까지 있었는데 사용해본 대부분의 로직이 마음에 ... 3 file 1 1803
이사이사
2018.03.11
858 질문 빗썸 API로 자동매매 - json 에러 문제         안녕하세요?   파이썬으로 빗썸 자동매매 프로그래밍을 시도해 보고 있는 초보 개발자 입니다. 빗썸 api를 사용하다가 발생하는 json 에러 관련해서 여쭤보려고 합니다.   일단 프로그램... 6 0 1841
맑은칡즙
2018.03.11
857 개발 python 백테스팅 환경인 backtrader에 대한 소개 입니다   python 백테스팅 환경인 backtrader에 대한 소개 입니다.     https://www.backtrader.com/docu/introduction.html Introduction Backtrader is Python based backtesting/trading platform fo... 1 0 2120
maru16
2018.03.12
856 개발 pandas으로 주식 시세 확인 및 이동평균선 구하기   판다곰(pandas)으로 주식 시세 확인 및 이동평균선 구하기 Posted on 7/21/2015 07:42:00 오후 by 김주훈 with No comments 분석 라이브러리인 판다스(Pandas)를 통해서 주식 시세를 확인 하고... 0 2320
maru16
2018.03.12
855 개발 Python을 사용하여 Web Scraping하기   1. 크롤링 예제 대상 1.1. 상장사 리스트 http://finance.daum.net/quote/all.daum?type=S&stype=P bs4 사용 방법 소개 HTML 1.2. 네이버 증권 종목분석 네이버 금융에서 제공되는 코스피,... 2 5043
maru16
2018.03.12
854 개발 Quandl에서 가상화폐 가격 데이터 가져오기 참조   DATA ORGANIZATION Quandl's data products come in many forms and contain various objects, including time-series and tables. Through our APIs and various tools (R, Python, Excel, et... 0 776
maru16
2018.03.12
개발 완전 자동화된 트레이딩 시스템 아키텍쳐   For the last 6 months I have been focused on the process of building the full technology stack of an automated trading system. I have come across many challenges and learnt a grea... 1 0 1515
maru16
2018.03.12
852 개발 코인개발 강의 합니다. 저 강의를 해볼까 합니다. 제가 하나 만들어서 런칭한 겁니다.   bitcoinessence.org    bitcoinessence.info   라이트코인 0.8 버전 기반으로 클론한 겁니다.    강의내용은 자기만의 코인을 만... 1 0 1472
creator
2018.03.13
851 질문 빗썸 api 접수 실패   현재 빗썸 api 이용해서 주문 내보고 있습니다. 그런데 주문을 내면 절반이상은 에러코드 5100이나 5600이 나옵니다. 원래 이렇게 주문접수시 실패 확률이 높은가요?                       --... 3 0 853
다른동네
2018.03.13
850 개발 마이닝풀허브 난이도 가져오려는데     json 형태로 값 주는 api는 없을까요? 찾아봤는데 못찾겠어요 ㅠㅠ           ------------------------------------- 꼬리말 * 게시글 내용 삭제시 레벨 강등 * 질문은 각 주제별 게시판에.... 2 0 643
호야핑
2018.03.13
849 개발 자작 펌핑감지/오토트레이딩 프로그램  직접 만들었습니다.    급상승구간 캐치시 구매하고 하락할때 팔게만 만들려다가 좀 복잡하게 만들었네요 ㅎㅎ    제작기간은 2주가량 걸렸구요    빗썸 API 이용해서 만들었습니다    유튜브 ... 4 file 2 3311
빗썸쟁이
2018.03.13
848 질문 혹시 stocks.exchange 사이트 api 가져올수 있을까요~!? 해외 사이트 보기도 어렵고 필요한것만 몇개 시세 좀 볼까하는데용   바이낸스랑 비트렉스는 되는 거같은데   스톡스 익스체인지는 아무리해도 안되는거 같아서용>.<   API 가져올수있는 방법 아... 4 0 784
놀고싶어요
2018.03.14
847 개발 삭제한 글입니다 삭제한 글입니다 file 1 2112
엑차
2018.03.14
846 개발 "TESTNET" - 암호화폐의 또 다른 공간   안녕하세요. DunkPay.com입니다. 몇몇 분들이 암호화폐 테스트 관련해서 질문을 주셔서 시간을 내서 정리해 봅니다. "암호화폐 전송테스트를 맘편히 하고 싶은데 수수료가 부담되시나요?" 그렇... 3 file 2 2441
비트코인요
2018.03.14
845 개발 1라운드 오픈!   최근에 이더리움 로또 사이트를 만들었습니다. 0.001 ETH 당 순번이 적힌 복권 1장을 지급합니다. 추첨 시간이 되면 즉시 1등을 뽑고 상금을 지급하는 복권 서비스입니다.                   39 file 8 4097
초밥매니아
2018.03.14
844 질문 이더리움 mist 브라우저 실행 질문 드려요 안녕하세요..초보 코린이 입니다. 이더리움 미스트 브라우저 실행시 질문이 있어 글을 남깁니다.   우선 테스트 환경은 아래와 같습니다. os : 우분투 16.04 버전 geth : 1.8.2 버전 mist : 최신... 5 file 0 1112
바보쿠우
2018.03.14
843 질문 요즘 빗썸 API로 balance 정보 가져오는 거 괜찮나요? (JsonDecoderError 발생)     예전에 All을 하는 경우만 JsonDecoderError가 자주 발생했는데..    며칠전부터는 개별 coin도 계속 자주 발생을 하네요.  (3/12일부터 발생하고 있음)    다른 분들은 어떠신가요?        ... 2 0 780
hbled
2018.03.14
842 개발 geth 1.8.3 버전에서 mist(wallet) 실행 ㅠ_ㅠ       이더리움 깃허브에 있는대로 따라하는데도 꽤 시간이 걸리네요ㅠㅠ 우분투(리눅스)도 낯설고..이더리움은 어떻게 구성(?) 되어 있는지도 모르고,, 그저 따라만 하는데도 에러도 나고,,제대... file 0 725
바보쿠우
2018.03.14
841 개발 화웨이, 블록체인 서비스 성능 테스트 툴 공개   http://news.naver.com/main/read.nhn?mode=LSD&mid=shm&sid1=105&oid=092&aid=0002133284     화웨이에서 블록체인의 성능을 테스트 할 수 있는 툴을 공개했다고 하네요.. 블... 0 1288
바보쿠우
2018.03.16
Board Pagination Prev 1 ... 45 46 47 48 49 50 51 52 53 54 ... 92 Next
/ 92
default debug random = 0 / type = READ / detected = READ