알고리즘 트레이딩

마지막 업데이트: 2022년 3월 18일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
알고리즘이란 태스크나 프로세스를 수행하기 위해 명확히 정의된 명령의 특정 집합이다.

알고리즘 트레이딩

1.
요즘 알고리즘트레이딩과 관련한 글을 읽다 보면 자주 등장하는 회사가 QuantInsti입니다. 인도에 위치한 알고리즘트레이더를 위한 전문교육기업입니다. DIY 퀀트를 위한 플랫폼이 주요한 비지니스인 미국이나 유럽과 달리 동남아시아의 경우 교육을 매개로 한 비지니스가 많은 듯 합니다. 국내 교육기업들이 금융을 주제로 강좌를 개설하는 것과 비교하면 큰 차이를 보입니다. 금융투자협회가 운영하고 있는 금융투자교육원과 비슷하지만 트레이딩과 관련한 전문기업입니다. 몇 일전 Setting-Up an Algo Trading Desk이라는 글이 올라왔습니다. 많은 분들이 알고 있는 이야기지만 강조하고 싶은 부분이 있어서 소개합니다.

먼저 사전준비입니다. 법인으로 할지, 개인으로 할지, 법인으로 하면 자본시장법에 의한 법인으로 할지 말지를 알고리즘 트레이딩 결정하여야 하고 자본금을 확정하여야 합니다. 금융은 규제이기때문에 등록이든 허가이든 금융회사가 되면 그에 따른 법적 의무가 많습니다. 주로 컴플라이언스와 관련한 부분입니다. 반드시 명심하여야 하는 부분입니다.

1.Registering your company: The first step is to register your firm. You can register your trading firm (for proprietary trading) as a Company, Partnership, LLP or even as an Individual. If, however you want to set up a Hedge Fund with investors, other approvals from regulators (For e.g. SEBI in India and MAS in Singapore) are also required and the compliance rules and regulations are generally much stricter.

2.Capital required for Trading and for Operations: Broadly speaking, trading capital required for High-Frequency Trading is usually relatively less than that required for Low-Frequency Trading. LFT is scalable and can absorb much more trading capital. But the capital required for trading operations is typically far higher in case of HFT as compared to LFT given the infrastructure and technology requirements in HFT.

일반적으로 회사를 설립할 때 회사의 비전과 철학등을 정리합니다. 마찬가지입니다. 트레이딩회사도 비슷합니다. 트레이딩철학이라고 할 수 있고 투자방법론이기도 하고 Traidng Paradigm일 수도 있습니다. 해외 투자회사들의 홈페이지를 방문하면 수준이 높든 낮든 투자철학을 정리해놓고 있습니다. 예를 들어 로보어드바이저

3.Trading Paradigm: You need to decide on the trading philosophy you’ll adopt. The most common trading philosophies include execution based strategies where the focus is to get the best price for execution rather than focusing on Alpha. Then there are High-frequency strategies which are extremely latency sensitive and mainly include market making, scalping, and arbitrage. Then there are market sentiment based, machine learning based and news based trading algorithms which can be relatively less sensitive to latency as compared to HFT.

매매를 위해서는 시장에 접속하여야 합니다. 이를 위한 준비입니다. 아래는 해외를 기준으로 한 목록이므로 한국과 많은 차이를 보입니다. 자본시장법은 어떤 시장의 어떤 상품을 매매하더라도 반드시 자본시장법상의 매매중개회사를 통하도록 규정하고 있습니다. 나라마다 규제가 다르고 거래소별로 회원규정이 다릅니다. 한국거래소의 회원은 매매,청산결제회원을 포함합니다. 역외 회원제도가 없습니다. 반면 해외거래소를 보면 매매회원과 청산결제회원을 나눕니다. 또한 역외도 가능합니다. 해외에 법인을 설립할 때 규제상의 차이점을 잘 검사하여야 합니다. 국내 금융투자회사를 이용할 경우 매매인프라를 위한 고민이 크지 않지만 해외는 다릅니다. 어떤 선택을 하느냐에 따라 비용의 차이가 무척 큽니다.

4.Access to Market: There are different kinds of memberships which exchanges offer- clearing members, trading members, trading cum clearing members, professional clearing members, etc. If you don’t want to go for direct membership with the exchange, you can also go through a broker. This involves lesser compliance rules and regulatory requirements. However, the flip-side is that you have to pay brokerage and most HFT strategies are highly sensitive to transaction cost.

5.Infrastructure Requirements: Main focus areas under this head are Colocation, Hardware and Network Equipment and Network Lines.

a) Colocation: Colocation means that your server is in the same premises and on the same local area network as that of the exchange. Most exchanges provide colocation facility now. In some cases when exchanges do not provide colocation facility, there are vendors who provide co-location or proximity hosting facility. A significant percentage of orders received by exchanges are now generated by algorithms with most of such orders being generated by co-located space.

b) Hardware: Many leading companies produce servers required for Algorithmic Trading setup. Customizable hardware for high-frequency trading is also 알고리즘 트레이딩 available which can be modified as per the requirement to improve performance. Given fast changes in technology, the present scenario requires servers to be changed and updated almost every year or at most in two years.

c) Network Equipment: This mainly includes Routers/Modems, Switches and Network Interface Controller (NICs) and FPGAs. For routers and modems, you need to check version compatibility with exchanges. NICs are basically Ethernet cards which help your computer to get connected to a network. FPGA stands for Field-Programmable Gate Array. It is basically an integrated circuit containing an array of programmable logic blocks and that be configured to perform complex operations.

d) Network Lines: Network lines can be broadly categorised into the below four categories-

i.Trading Lease Line– Used for sending out orders to the exchange. Different lines provide different bandwidth for messages to be sent and are priced accordingly.

ii. Market Data Lease Line– This line used to receive market data from the exchanges or your data provider. There are two main formats ways in which exchanges send market data- Tick By Tick or Snapshot Data (example for NSE).

-> Tick By Tick (TBT)- Tick data is a collection of sequential “ticks” which is the latest quote, trade, price, and volume information. You can also subscribe to bucket feed which filters data for specific instruments requested.

-> Snapshot Data– Snapshot Data feed contains data pertaining to Stock Exchange trade quotations and other related information pertaining to the trading of different instruments generated at regular intervals of time.

iii. Lines between Exchanges: These are point to point lines between exchanges which can assist with SOR. Smart Order Routing (SOR) lets you shoot orders to different exchanges, in effect helping you to pick liquidity available on different exchanges at the most effective price.

iv. Between Premises and Exchange: In India, you cannot have the internet in colocation area, so there is a dedicated line between colocation premises and your facility. The cost of this line depends on the distance.

v. Test Connectivity: Exchanges provide test markets where you can test your trading algorithms. For instance, in India, NSE provides two test markets; Normal test market and Dedicated test market. Some Global exchanges like CME also provide internet VPNs for test connectivity.

2.
이제 알고리즘트레이딩을 위한 플랫폼입니다. 가장 기본적인 플랫폼 기능은 시세, 주문체결 및 전략입니다. 아래처럼 CEP와 같은 기능을 내장한 플랫폼을 구축할 수 있습니다. FIX/FAST를 이용하면 시세와 주문체결을 위한 비용을 줄일 수 있습니다.

6.Algorithmic Trading Platform: An algorithmic trading platform has three main parts-

a) Market Data Adapter– MDA is used to receive data from the exchange and convert it to the format which our trading system understands.

b) Complex Events Processing Engine– CEP is the brain of the system and the main strategy logic lies here.

c) Order Routing System– CEP sends instructions to ORS which converts the order to exchange understandable format. FIX is the most widely used format in most exchanges, some exchanges might have their own native formats as well. When an exchange uses both, a native and FIX format, sometimes native may be preferred due to faster connectivity as the FIX converter might be applied in the next layer but using the exchange’s native format might also involve dedicated efforts in terms of maintenance. The latency of various platforms varies from system to system and so does the price.

Quantopian과 같은 해외 온라인플랫폼이 가지는 강점은 백테스팅기능입니다. 앞서 플랫폼을 도입할 때도 역시 고민해야 하는 부분이 백테스팅입니다.

7.Backtesting: Backtesting is a historical simulation of an algorithmic trading strategy to see its performance on the past data. Most ATPs come with backtesting platforms which can be used to obtain simulated results in terms of profit & loss, risk and performance statistics over the duration of the backtested data which help to quantify the strategy’s return on risk. Next, we test the strategy in the “Test markets” which we’ve already discussed in the previous section briefly. Market tests ensure that there are no technical glitches which might occur while connecting to the market through the strategy.알고리즘 트레이딩

위험관리는 무척 중요합니다. 그래서 해외의 경우 플랫폼에 PreTrade Risk Control을 중요하게 생각합니다.

8. Risk Management: Risk management generally involves more focus on Market Risk monitoring. But in the case of High-Frequency trading, Operational Risk is much more important. Failure of technology, network, data streams can be disastrous. You need to have multiple level checks for data, starting from the socket level to capture any anomalies and stop the strategy instantly if something is wrong. A matter of seconds can lead to huge losses, which makes it important to react very fast and disconnect within a few milliseconds or lesser time duration if things go wrong.

국내의 경우 전략 자체에 대한 정합성 검증은 없습니다. 알고리즘트레이딩계좌로 등록하는 정도뿐입니다. 물론 초당 주문건수의 제한을 받지만. 해외의 경우 규제정책에 따라 알고리즘 자체에 대한 안정성을 증명하여야 합니다. 소스코드를 제출하는 경우도 있고 다양합니다.

9.Conformance and Empanelment: In India, you need exchange’s approval before 알고리즘 트레이딩 you take a strategy live. The process involves participating in a mock to give a demo of your strategy to the exchange. If all required conditions are satisfied then the strategy can be taken live. Some exchanges like CME don’t require each strategy to be tested separately; they just test Trading Systems and grant access.

10.Audit & Compliance: All HFT firms in India have to undergo a half yearly audit. Auditing can only be done by certified auditors listed on the exchange’s website. For the audit, you are required to maintain order logs, trade logs, control parameters etc. for past few years. Other global exchanges like CME require similar data to be saved for the past few years for audit purposes.

3.
개인적으로 가장 중요한 부분입니다. 앞서 매매철학과 함께 트레이딩회사가 지속성을 판단하는 근거가 아닐까 합니다. 인공지능이든 알고리즘이든 고빈도매매이든 출발은 사람입니다. 혼자서 북치고 장구치고 할 수는 없는 노릇입니다. 그래서 팀 빌딩이 핵심입니다.

11.Team: And last but not the least, you need a team of professionals to come together to run your desk. Broadly speaking Traders/Strategists, IT professionals, Network managers, Risk Managers, HR and Legal teams need to work together. But to start with IT professionals and Traders/Strategists should be sufficient. A small team of 3-5 Traders and IT professionals, along with Support Staff, i.e. a total of about 7-10 people can constitute an algorithmic trading firm. In the case of start-ups, a single person can don multiple hats taking responsibility for 알고리즘 트레이딩 several tasks and a team of 4-5 members can start.

이상의 항목을 알고리즘트레이딩회사에만 적용할 필요가 없습니다. 요즘 유행하는 로보어드바이저기업의 경우도 마찬가지입니다. 자본시장과 관련한 핀테크 비지니스를 구상하더라도 비슷합니다.

파이썬으로 배우는 알고리즘 트레이딩 (개정판-2쇄)

안녕하세요. 조대표님 덕분에 많이 공부하고 있는 독자입니다. 좋은 교육자료에 정말 감사합니다. 현재 이베스트투자증권 증권사를 통하여 파이썬으로 주식 매매 알고리즘 개발중에 있습니다.제 프로그램은 실시간틱데이터(주식시장 체결정보)를 수신하여 메모장에 저장하는 방식을 사용하고 있습니다. (이유는 데이터 저장에 있어 mySql 등 다른 방식에 대해서는 무지함입니다.) .

안녕하세요. 저는 지식이 부족해서 소스를 잘 이해하지 못하는데요. 현재가와 매수매도호가들만 불러와서 주문 넣으려는데 잘 안되네요. 아래의 def함수에서 현재가만 retun으로 가져오고 싶습니다. trcode에는 종목코드가 들어가면 되는지요? rqname에는 어떤 내용이 들어가는지 잘 모르겠습니다. 그리고 호가 불러오는 부분은 어떻게 하는지도 궁금하네요. 답변 가능하시면 .

@가치투자자 본 도서는 간단한 파이썬 기초 문법과 증권사가 제공하는 API의 사용법을 다룹니다. 증권사 API를 사용하면 말씀하신 데이터를 얻을 수 있기는 합니다. 기초적인 내용을 공부하시고 증권사 메뉴얼을 참조하셔서 원하는 결과를 얻는 방향으로 진행하셔야 합니다. 책의 모든 내용은 위키독스 페이지에 전체 공개 .

안녕하세요 혹시 보고계신지 모르겠습니다. 완전 문과출신으로 파이썬은 물론 프로그래밍을 한번도 접해본적은 없습니다. 미국 배당주 종목산출을 위해 파이썬을 배워보고자 하는데, 혹시 이 책을 통해 배우면 목표에 도움이 될까요? - 대상 : 미국 상장주식 전종목 ㅇ 과거 수년간 (연간, 분기별)배당금 추출 ㅇ .

짱 님께서 알려 주신 방법으로 zipline은 설치했습니다. 그런데, 책에 나와 있는 fix_yahoo_finance를 설치하는 부분에서 호환성 Check Error가 발생합니다. 현재 시점에서 Zipline을 설치하면 Pandas=0.22 이하 Version이 필요하고, fix_yahoo_finance를 설치하면 Pandas=0.24 이상 Version이 필요한 것으로 나옵니다. 혹시 조대표님이 책에서 사용하신 fix_yahoo_finance의 Version을 .

ImportError: DLL load failed while importing win32api: The specified module could not be found. 위 에러가 뜨는 경우, 파이참 terminal 에서 pip install pywin32==225 로 구버전을 설치했더니 해결되었습니다.

와 드디어 완독 했습니다 ! 이런 저런 예상치 못한 케이스에 대한 예외처리를 해가면서 코딩한 녀석이 지금 열심히 돌고 있는 중. 1557종목 중 524번째 처리 중인데 이번에는 제발 끝까지 잘 돌았으면 합니다 ㅠㅠ 저자 조대표, 유대표님께 진심으로 감사드립니다. 이 책을 읽으면서 .

알고리즘 트레이딩의 기초: 개념과 예시

알고리즘이란 태스크나 프로세스를 수행하기 위해 명확히 정의된 명령의 특정 집합이다.

알고리즘 트레이딩(Algorithmic Trading, Automated Trading, Black-box Trading, 간단히 Algo-Trading)은 컴퓨터를 사용하여 인간(트레이더)이 할 수 없는 속도와 주기로 수익을 내도록 거래를 하는 일련의 명령들을 수행하는 프로그램으로 동작됩니다. 정의된 규칙들은 타이밍, 가격, 수량 혹은 다른 수학적 모델에 기초를 두고 있지요. 알고-트레이딩은 트레이더에게 수익을 낼 기회를 줄 뿐 아니라, 시장을 좀 더 유동적으로 만들고 트레이딩 활동에서 인간의 감정적인 영향을 없애 좀 더 체계적으로 거래를 할 수 있죠.

트레이더가 다음의 단순한 거래 규칙을 따른다고 가정합시다:

이 두 가지의 간단한 규칙을 사용하면, 주식 가격(이동평균선 포함)을 자동으로 모니터링하고 매수 및 매도 주문을 넣는 컴퓨터 프로그램을 작성하는 것은 그리 어렵지 않겠죠. 트레이더는 더이상 실시간 가격과 그래프를 계속 보면서 직접 주문을 할 필요가 없습니다. 알고리즘 트레이딩 시스템은 자동으로 거래 기회를 포착하고 주문을 넣어주죠.

알고리즘 알고리즘 트레이딩 알고리즘 트레이딩 트레이딩의 이점

알고-트레이딩은 다음과 같은 이점을 제공합니다:

  • 최적의 가격에 거래를 수행한다
  • 즉시, 정확하게 거래 주문을 한다 (그러므로 높은 확률로 원하는 주문을 넣는다)
  • 많은 가격 변동을 피하기 위하여 정확하고 빠르게 주문을 할 수 있다
  • 거래 비용(Transaction Cost)을 줄인다 (하단의 Implementation Shortfall을 보라)
  • 여러 시장 조건에 대한 즉각적인 자동 확인한다
  • 수동 주문에 존재하는 오류의 위험을 감소시킨다
  • 이용 가능한 역사적, 실시간 데이터에 대하여 알고리즘을 백테스트(Backtest) 할 수 있다
  • 인간(트레이더)이 저지를 수 있는 감정적이고 심리적인 실수를 줄일 수 있다

현재 알고-트레이딩의 가장 큰 부분은 초단타 매매(High Frequency Trading. HFT)입니다. 이는 미리 프로그램된 명령들에 기초하여 알고리즘 트레이딩 다양한 시장과 결정 변수에 의존하여 매우 빠른 속도로 많은 양의 주문을 하죠.

알고-트레이딩은 트레이딩과 투자 활동의 많은 형태로 사용됩니다:

  • 중-장기 투자자 혹은 Buy Side 펌들(연금 펀드, 뮤추얼 펀드, 보험 회사)이 거대 규모의 주식을 구입하지만 주식 가격에 영향을 미치고 싶지 않아 할 때
  • 단기 트레이더와 Sell Side 알고리즘 트레이딩 참여자들(마켓 메이커, 투기자, 재정 거래자)이 자동화된 주문으로 이득을 얻으려고 할 때. 덧붙이자면, 알고-트레이딩은 마켓의 판매자들이 충분한 유동성을 만들도록 돕는다.
  • 시스템 트레이더들(추세 추종 투자자, 페어 트레이더, 헤지 펀드 등)이 거래 규칙을 프로그래밍하는 것이 효과적이라고 판단하고 프로그램이 자동으로 주문을 넣게 할 때

알고리즘 트레이딩은 인간(트레이더)의 본능과 직관에 의존하는 방법보다 액티브 트레이딩에 좀 더 체계적인 접근법을 제공합니다.

알고리즘 트레이딩 전략

알고리즘 트레이딩의 모든 전략은 (수익 향상 혹은 비용 절감의 측면에서)수익성이 있다고 판단되는 기회에 대한 포착을 필요로 합니다. 지금부터 알고-트레이딩에서 기본적으로 사용되는 전략들을 소개 드리겠습니다.

추세 추종형 전략 (Trend Following Strategies)

기술적 지표와 관련된 이동평균선, 채널 브레이크아웃, 가격 수준 변화에 대한 추세를 따르는 가장 보편적인 알고리즘 트레이딩 전략입니다. 이 전략들은 어떤 예측이나 가격에 대한 예상을 하지 않으므로 구현하기에 매우 쉽고 간단합니다. 거래는 요구되는 추세의 출현에 기초하여 일어나며, 예측 분석의 복잡성없이 알고리즘을 쉽고 직관적으로 구현할 수 있죠. 앞서 말씀드린 50일- 200일 이동평균선 예제는 유명한 추세 추종현 전략입니다.

차익 기회 (Arbitrage Opportunities)

한 시장에서 낮은 가격에 주식을 매수하여 다른 시장에서 비싼 가격에 동시에 매도하는 것은 무위험 수익 혹은 차익(Arbitrage)이라는 가격 차이로 이득을 볼 수 있습니다. 주식의 선물 시장 또한 시간에 따라 가격이 변화하므로 같은 원리가 적용될 수 있죠. 이와 같은 가격 차이를 확인하고 주문을 넣는 것은 효과적인 방법으로 수익 기회를 만들어 줍니다.

인덱스 펀드 리밸런싱 (Index Fund Rebalancing)

인덱스 펀드는 구성 종목을 상대적인 벤치마크 인덱스에 맞추기 위해 일정한 리밸런싱 기간을 가집니다. 이는 알고리즘 트레이더들이 인덱스 펀드의 리밸런싱 직전에 구성 주식 수에 따라 20–80 베이시스 포인트(bps)를 얻을 수 있는 기회를 가져다 주죠. 이와 같은 거래는 정확한 시간과 최적의 가격에 거래하는 알고리즘 트레이딩 시스템에 의해 행해질 수 있습니다.

수학적 모델 기반 전략

옵션과 파생된 증권의 조합의 거래를 통해 +델타와 -델타로 포트폴리오의 델타를 0이 되도록 유지하는 Delta-neutral 트레이딩 전략과 같이 많은 수학적 모델들이 증명되어 있습니다.

범위 거래 (평균 회귀. Mean Reversion)

평균 회귀(Mean Reversion)전략은 자산의 높고 낮은 가격이 일시적인 현상이며 곧 그들의 평균 가격으로 돌아올 것이라는 가정에 기초하고 있습니다. 가격 범위를 확인하고 정의하며, 이 가정에 기초하여 알고리즘을 구현하는 것은 가격이 정의된 범위에 들어오거나 벗어날 때 주문을 자동으로 집행하도록 합니다.

거래량 가중평균 가격 (Volume Weighted Average Price. VWAP)

거래량 가중평균 가격 전략은 거대한 주문을 주식의 특정 거래량에 따라 잘게 나누어 생각합니다. 이는 거래량 가중평균 가격(VWAP)에 가깝게 주문을 실행하여 평균 가격으로 부터 수익을 얻도록 합니다.

시간 가중평균 가격 (Time Weighted Average Price. TWAP)

시간 가중평균 가격 전략은 거대한 주문을 시작과 종료 시점 사이에 일정하게 시간을 나눈 슬롯을 따라 잘게 나누어 생각합니다. 이는 시작 및 종료 시점 사이의 평균 가격에 가깝게 주문을 수행하여 시장의 영향을 최소화하고자 합니다.

거래량 비율 (Percentage of Volume. POV)

거래 주문이 완전히 체결될 때까지 이 알고리즘은 미리 정의된 비율과 시장에서 거래되는 거래량에 따라 계속해서 부분적인 주문을 보냅니다. 연관된 “단계 전략”은 주식의 가격이 사용자가 정의한 수준에 도달했을 때 미리 정의한 시장 거래량의 퍼센티지와 참여 비율을 증가시키거나 감소시키면서 주문을 보냅니다.

임플리멘테이션 숏폴 (Implementation Shortfall)

Implementation Shortfall 전략은 실시간 시장에서 (주문)실행 비용을 최소화하는 목표를 두고 있습니다. 따라서 지연된 실행의 기회 비용을 통해 주문 비용을 절약하고 이득을 얻죠. 이 전략은 주식의 가격이 유리하게 흐르면 목표 참여 알고리즘 트레이딩 비율을 증가시키고 가격이 안좋게 흐르면 비율을 감소시킵니다.

일반적인 트레이딩 알고리즘 외에:

서로 다른 사이드의 “해프닝"을 확인하는 특별한 알고리즘의 종류가 있습니다. 예를 들어 이러한 “낌새 알고리즘"은 Sell Side 마켓 메이커가 Buy Side의 대규모 주문을 수행하는 알고리즘의 존재를 파악하죠. 알고리즘을 통한 이와 같은 감지는 마켓 메이커가 대규모 주문에 대한 기회를 파악하고 높은 가격에 해당 주문들을 체결하는 이득을 얻게 합니다. 이는 하이테크 프론트-러닝(Front-Running)으로 불리기도 합니다.

알고리즘 트레이딩을 위한 기술적 요구사항

알고리즘을 컴퓨터 프로그램을 이용하여 구현하는 것이 바로 최종 관문입니다. 백테스팅과 함께 말이죠. 문제는 확인된 전략을 통합한 계산 과정으로 변환시키는 것이고, 거래 계좌를 통해 주문을 넣는 것입니다. 다음의 항목들이 필요하겠죠:

  • 요구되는 트레이딩 전략을 프로그래밍하기 위한 컴퓨터 프로그래밍 지식, 고용된 프로그래머 또는 미리 구현된 트레이딩 소프트웨어
  • 네트워크 연결과 주문을 넣기위한 트레이딩 플랫폼 접근
  • 알고리즘에 의해 모니터링되고 주문 기회를 포착할 시장 데이터 피드에 대한 접근.
  • 실제 시장에 진입하기 전에 필요한 백테스팅 시스템에 대한 능력과 인프라스트럭쳐
  • 구현하는 알고리즘의 복잡도에 따라 백테스팅에 필요한 역사적 데이터

여기 이해하기 쉬운 예를 보여 드리죠. Royal Duth Shell (RDS)은 암스테르담 증권거래소(AEX)와 런던 증권거래소(LSE)에 상장되어 있습니다. 이제 차익 기회 포착을 위한 알고리즘을 만들어 봅시다. 몇 개의 흥미로운 관찰이 가능하겠죠:

  • AEX는 유로화로 거래하지만 LSE는 파운드 스털링으로 거래한다.
  • 1시간의 시차에 의해, AEX는 LSE보다 일찍 개장하고 다음 몇 시간 동안 동시에 거래되며 AEX가 폐장한 마지막 1시간 동안 LSE만이 거래가 가능하다.

이제 두 시장에(다른 두 화폐로) 모두 상장된 Royal Dutch Shell에 대한 차익 거래에 대한 가능성을 확인할 수 있나요?

  • 현재 시장 가격을 읽을 수 있는 컴퓨터 프로그램
  • LSE와 AEX에서의 가격 피드
  • GBP-EUR 환율을 위한 외환 시장 피드
  • 올바른 거래소에 주문을 넣기 위한 주문 능력
  • 역사적 가격 정보에 대한 백테스팅

컴퓨터 프로그램은 다음을 수행할 수 있죠:

  • 두 거래소의 RDS 주식에 대한 가격 정보 확인
  • 가능한 외환 시세를 사용하여 한 통화에서 다른 통화로 변환
  • 수익 기회를 낼 큰 가격 차이가 존재한다면 (중개 수수료를 제외한), 낮은 가격을 가지는 거래소에서 매수를 하고 높은 가격을 가지는 거래소에서 매도
  • 주문이 원하는 대로 실행된다면, 차익을 얻게됨

간단하고 쉽죠! 하지만 실제 알고리즘 트레이딩은 유지하고 실행하기에 그렇게 간단하진 않습니다. 만약 여러분이 알고리즘에 의해 생성되는 트레이딩을 할 수 있다면, 다른 시장 참여자들도 그렇게 할 수 있다는 것을 기억하세요. 결국, 가격은 밀리 혹은 마이크로 초로 변동할 것입니다. 위의 예에서 매수 주문을 실행했지만 동시에 매도 주문을 하지 못할 경우를 생각해보세요. 아마 오픈 포지션(Open Position)이 되어 차익 전략이 쓸모 없어지겠죠.

더 많은 위험과 과제도 있습니다. 예를 들어 시스템 실패 위험, 네트워크 연결 에러, 트레이딩 주문과 실행에 대한 시간 차와 같은 것들이 있고, 가장 중요하게는 불완전한 알고리즘이 있겠죠. 알고리즘이 더 복잡할수록, 실제로 실행되기 전에 더 엄격한 백테스팅이 필요합니다.

알고리즘 퍼포먼스의 양적 분석(Quantitative Analysis)은 매우 중요한 역할을 하며, 세심히 시험되어야 합니다. 컴퓨터의 도움을 받아 자동화를 시켜 별 노력없이 돈을 버는 것은 정말 흥미롭죠. 하지만 시스템이 심도있게 테스트되어야 하며 한도가 정해져야 된다는 것을 명심하세요. 분석적인 트레이더는 프로그래밍을 배우고 혼자서 시스템을 만들어야 하며, 확실하게 올바른 전략을 구현할 수 있는 자신감을 가져야 합니다. 알고-트레이딩의 신중한 사용과 테스트는 수익 기회를 만들어 낼 수 있습니다.

이 글은 Investopedia에 기고된 원문 ‘Basics of Algorithmic Trading: Concepts and Examples’를 번역한 것입니다. 잘못된 부분이나 질문이 있으시다면 알려주시기 바랍니다.

알고리즘 트레이딩

가방 속 책 한 권이라면 - 굿리더 스트링백/간식 접시 머그/디즈니 미키 타포린 보냉백/타포린백

〈2022 한국 문학의 미래가 될 젊은 작가〉- 투표 참여 회원 전원 1천원 상품권 증정!

8월 얼리리더 주목신간 : 귀여운 방해꾼 배지 증정

월간 개발자 2022년 8월호

박해선 저자의 머신러닝/딥러닝 패스

[단독]『혼자 공부하는 파이썬』 개정판 출간

내일은 개발자! 코딩테스트 대비 도서전

YES24 트윈링 분철 : 인서트라벨/스티커 택1 증정

8월 전사

쇼핑혜택

이 책을 구입하신 분들이 산 책

품목정보
출간일 2021년 02월 26일
쪽수, 무게, 크기 428쪽 | 188*235*25mm
ISBN13 9791161754901
ISBN10 1161754903

책소개 책소개 보이기/감추기

실전 알고리즘 트레이딩을 위한 기초 환경, 지식과 함께 백테스트 및 리스크 관리 기법과 노하우, 실전에서의 유의 사항을 전달한다. 파이썬을 기반으로 간단한 트레이딩 시그널부터 시작해서 경제 이벤트 기반 및 변동성 조정의 고급 기법을 활용하는 방법을 보여주고, 그 기법을 머신러닝 기법과 어떻게 결합하는지까지 알려준다.

목차 목차 보이기/감추기

1장. 알고리즘 트레이딩 기초
__왜 트레이딩을 하는가?
__현대적 트레이딩 환경의 기본 개념
____시장 섹터
____자산 클래스
____현대 거래소의 기본 사항
____알고리즘 트레이딩 개념의 이해
____직관에서 알고리즘 트레이딩까지
____알고리즘 트레이딩 시스템의 구성 요소
____왜 파이썬인가?
__요약

2부. 거래 신호 생성 및 전략

2장. 기술적 분석을 통한 시장 해석
__추세와 모멘텀 기반 지표 기반의 트레이딩 전략 설계
____지지와 저항 지표
__기본적 기술적 분석 기반의 트레이딩 시그널의 생성
____단순이동평균
____지수이동평균
____APO
____MACD
____볼린저 밴드
____상대강도지표
____표준편차
____모멘텀
__트레이딩 자산의 계절성과 같은 고급 개념의 구현
__요약

3장. 기초 머신러닝을 통한 시장 예측
__용어와 표기의 이해
____금융 자산 탐구
__선형회귀 방법을 이용한 예측 모델 구축
____최소제곱법
____규제화와 수축 - 라소와 릿지 회귀
____결정트리회귀
__선형분류 방법을 이용한 예측 모델 구축
____k-최근접 이웃
____서포트 벡터 머신
____로짓 회귀
__요약

3부. 알고리즘 트레이딩 전략

4장. 인간의 직관에 의한 고전적 트레이딩 전략
__모멘텀과 추세 추종 트레이딩 전략 구축
____모멘텀 전략 예제
____파이썬 구현
__회귀 행태가 있는 시장에 적합한 트레이딩 전략 만들기
____회귀 전략의 예
__선형적으로 상관관계를 갖는 트레이딩 상품 그룹에 대해서
__작동하는 트레이딩 전략 만들기
__요약

5장. 고급 알고리즘 전략
__거래 상품 변동성 조정 트레이딩 전략 구축
____기술적 지표로 거래 상품 변동성 조정
____트레이딩 전략의 변동성 조정
____변동성 조정 평균 회귀 트레이딩 전략
__경제 이벤트 트레이딩 전략
____경제 지표 발표
____경제 지표 발표 포맷
____전자 경제 발표 서비스
____트레이딩과 경제 지표 발표
__통계적 차익 거래의 이해와 구현
____StatArb 기초
____StatArb 리드-래그
____포트폴리오 구성과 관계 조정
____StatArb 인프라 비용
____파이썬 StatArb 트레이딩 전략
__요약

6장. 알고리즘 전략의 위험 관리
__위험 유형과 위험 요인의 구별
____트레이딩 손실 리스크
____규제 위반 리스크
____스푸핑
____호가 스터핑
____종가 뱅잉
____리스크 원천
____리스크 계량화
__리스크 척도의 구분
____손절
____최대 낙폭
____포지션 한도
____포지션 보유 기간
____PnL 분산
____샤프 비율
____기간별 최대 체결수
____최대 거래 규모
____거래량 한도
__리스크 관리 알고리즘 구축
____현실적으로 위험 조정
__요약

7장. 파이썬 트레이딩 시스템 구축
__트레이딩 시스템 이해
____게이트웨이
____주문 호가창 관리
____전략
____주문 관리 시스템
____핵심 구성 요소
____주변 구성 요소
__파이썬 트레이딩 시스템 구축
____LiquidityProvider 클래스
____전략 클래스
____OrderManager 클래스
____MarketSimulator 클래스
____TestTradingSimulation 클래스
__지정가 주문 호가창 설계
__요약

8장. 트레이딩 거래소 연결
__트레이딩 시스템을 이용한 거래소 거래
__통신 API 검토
____네트워크 기초
____트레이딩 프로토콜
____FIX 통신 프로토콜
__수신 가격 업데이트
____송신자 코드 예
__주문 실행과 시장 반응 수신
____Acceptor 코드 예제
____기타 트레이딩 API
__요약

9장. 파이썬 백테스트 시스템 구축
__백테스터 구축
____표본 내 데이터 대 표본 외 데이터
____페이퍼 트레이딩(선행 테스트)
____초보적 데이터 저장
____HDF5
____데이터베이스
__올바른 가정 선택
____루프형 백테스트 시스템
____이벤트 주도형 백테스트 시스템
__시간값 평가
__이중 이동 평균 전략 백테스트
____루프형 백테스터
____이벤트 기반 백테스터
__요약

5부. 알고리즘 트레이딩의 도전

상세 이미지 상세 이미지 보이기/감추기

저자 소개 (3명)

출판사 리뷰 출판사 리뷰 보이기/감추기

★ 이 책에서 다루는 내용 ★

■ 현대 알고리즘 트레이딩 시스템과 전략의 구성 요소 이해
■ 파이썬을 이용한 머신러닝의 알고리즘 트레이딩 시그널과 전략에의 적용
■ 평균 회귀, 추세 추종, 경제 지표 발표 등을 기반으로 한 트레이딩 전략의 구축, 시각화, 분석
■ 파이썬 트레이딩 전략을 위한 위험 관리 시스템의 계량화 및 구축
■ 트레이딩 봇의 성과를 향상시키고자 트레이딩 전략을 시뮬레이션하는 백테스터 구축
■ 라이브 시장에 트레이딩 전략을 배포하고 수익성 유지와 개선을 위한 운영

★ 이 책의 대상 독자 ★

소프트웨어 엔지니어, 금융 거래자, 데이터 분석가, 기업가, 알고리즘 거래의 탐구를 시작하고 싶어 하는 모든 사람을 위한 책이다. 알고리즘 트레이딩이 어떻게 작동하는지, 트레이딩 시스템의 모든 구성 요소가 무엇인지, 블랙박스와 그레이박스 거래에 필요한 프로토콜과 알고리즘, 완전히 자동화되고 수익성 있는 트레이딩 비즈니스 구축 방법을 알고 싶다면 이 책이 꼭 필요하다.

1장, ‘알고리즘 트레이딩의 기초’에서는 알고리즘 트레이딩이 무엇이며 알고리즘 트레이딩이 고빈도수 또는 낮은 지연 시간 거래와 어떻게 관련돼 있는지 설명한다. 규칙 기반에서 AI로 이어지는 알고리즘 거래의 진화를 살펴본다. 알고리즘 거래 개념, 자산 분류 및 계기 등 본질적인 내용을 다룰 것이다. 어떻게 알고리즘을 결정하는가를 배운다.
2장, ‘기술적 분석을 통한 시장 해석’에서는 몇 가지 인기 있는 기술적 분석 방법을 다루며, 시장 데이터의 분석에 적용하는 방법을 보여 준다. 시장 추세, 지지, 저항을 활용한 기초 알고리즘 트레이딩을 실시한다.
3장, ‘기초 머신러닝을 통한 시장 예측’에서는 여러 가지 간단한 회귀 및 분류 방법을 검토하고 구현하며, 트레이딩에 지도 통계적 학습 방법을 적용하는 것의 장점을 설명한다.
4장, ‘인간의 직관에 의한 고전적 트레이딩 전략’에서는 몇 가지 기본적인 알고리즘 전략(모멘텀, 추세, 평균회귀)을 살펴보고, 그 작동과 장단점을 설명한다.
5장, ‘고급 알고리즘 전략’에서는 좀 더 진보된 접근 방식(통계적 차익 거래, 페어 상관관계)과 그들의 장단점을 검토해 기본적인 알고리즘 전략을 통합한다.
6장, ‘알고리즘 전략의 위험 관리’에서는 알고리즘 전략에서 위험(시장 위험, 운영 위험, 소프트웨어 구현 버그)을 측정하고 관리하는 방법을 설명한다.
7장, ‘파이썬 트레이딩 시스템 구축’에서는 앞에서 만들어진 알고리즘에 기초해 거래 전략을 지원하는 기능적 구성 요소를 설명한다. 파이썬을 이용해 작은 트레이딩 시스템을 구축할 것이며, 앞에서 나온 알고리즘을 사용해 거래할 수 있는 트레이딩 시스템을 구축할 것이다.
8장, ‘트레이딩 거래소 연결’에서는 트레이딩 시스템의 통신 구성 요소를 설명한다. 파이썬에 있는 퀵픽스 라이브러리를 사용해서 거래 시스템을 실제 교환에 연결할 것이다.
9장, ‘파이썬 백테스트 시스템 구축’에서는 트레이딩 봇의 성능을 검증하고자 대량의 데이터로 테스트를 실행해 트레이딩 알고리즘을 향상시키는 방법을 설명한다. 모델이 구현되면 트레이딩 로봇이 트레이딩 인프라에서 예상대로 동작하는지 테스트(구현 관련 실수 확인)해야 한다.
10장, ‘변화하는 시장 참여자와 시장 조건 적응’에서는 실시간 거래 시장에 배포할 때 전략이 예상대로 수행되지 않는 이유를 논의하고, 전략 자체 또는 기본적인 가정 내에서 문제를 해결하는 예를 제공한다. 또한 잘 수행되고 있는 전략이 왜 성능 면에서 서서히 악화되는지를 논의하고, 이것을 어떻게 해결할 것인지 설명하는 몇 가지 간단한 예를 소개할 것이다.

오늘날에는 정교한 거래 신호, 예측 모델, 전략에 의존한다는 의미로 타인에 비해 빠르기만 해서는 유의한 경쟁 우위를 확보하기 점점 더 어려워지고 있다. 이 책에서는 광범위한 청중에게 현대 전자 거래 시장과 시장 참가자들의 운영 방식과 또한 파이썬을 사용해 실용적이고 수익성이 높은 알고리즘 거래 사업을 구축하는 모든 구성 요소를 설계, 구축, 운영하는 방법을 잘 이해하는 데 필요한 지식과 실제 경험을 제공한다.
책 전반에 걸쳐 작업을 수행하는 데 필요한 알고리즘 거래와 환경 설정을 소개한다. 자동화된 거래 프로젝트를 시작하기 전에 여러분이 필요로 하는 알고리즘 거래 사업의 핵심 요소와 질문들을 배운다.
후반에서는 계량적 거래 신호와 거래 전략이 어떻게 개발되는지 알게 될 것이다. 몇몇 잘 알려진 트레이딩 전략의 작동 방식과 구현법을 이해하게 될 것이다. 또한 변동성 전략, 경제지표 발표 전략, 통계적 차익 거래를 포함한 더 정교한 거래 전략을 이해하고, 실행하고, 분석할 것이다. 앞부분에서 구축한 알고리즘을 사용해 트레이딩 봇을 만드는 방법을 처음부터 배울 수 있다.
이제 여러분은 시장에 연결돼 라이브 시장에서 알고리즘 트레이딩 전략을 연구하고, 구현하고, 평가하고, 안전하게 운용할 준비가 돼 있을 것이다.

이 책은 실전 알고리즘 트레이딩을 위한 기초 환경, 지식과 함께 백테스트 및 리스크 관리에 대한 기법과 노하우, 실전에서의 유의 사항을 전달한다. 또한 파이썬을 기반으로 간단한 트레이딩 시그널부터 시작해서 경제 이벤트 기반 및 변동성 조정의 고급 기법을 활용하는 방법을 알려 주고, 이들을 머신러닝 기법과 어떻게 결합하는가에 이르기까지 보여 준다.
본래 알고리즘 트레이딩은 투자은행 트레이딩 부서에서 쓰이는 업계 전문용어이며, 주어진 주문을 시장 충격을 최대로 줄이면서 거래 비용을 최소화하는 거래 기법을 일컬었으나, 최근에는 기술적 지표를 중심으로 하는 시스템 트레이딩도 포함해 광의의 뜻으로 사용되기도 한다. 이 책에서의 알고리즘 트레이딩은 시스템 트레이딩의 의미로 사용된다. 하지만 이 책이 기본적으로 기술적 지표를 이용한 전략을 설명하고 있음에도 이들 시그널을 트레이딩에 적용하는 여러 지침 및 주의 사항은 다른 어떠한 트레이딩 시그널을 실전에 적용해 거래할 때도 큰 도움이 될 것이다. 이 책은 알고리즘 트레이딩 또는 퀀트 투자를 처음 접하는 사람들이 트레이딩이나 투자에 대한 큰 지식이 없어도 읽을 수 있는 좋은 입문서라 생각하며, 다음 단계로 나가기 위한 디딤돌이 되리라 기대한다. 이 책에서 사용되는 프로그램들은 깃허브에 대부분 제공되고 있으며, 이들 프로그램들을 자신의 목적에 맞춰 수정하는 연습을 하면 실력 향상에 큰 도움이 될 것이다.

파이썬을 이용한 알고리즘 트레이딩: 아이디어 도출부터 클라우드 배포까지

출판사 제이펍
저작권사 O’Reilly Media
원서명 Python for Algorithmic Trading(ISBN: 9781492053354)
지은이 이브스 힐피쉬
옮긴이 박진수
출판일 2021년 7월 29일
페이지 376쪽
판 형 46배 판 변형 (188 x 245 x 18)
제 본 무선(soft cover)
정 가 29 ,000원
ISBN 979-11-91600-10-0 (93000)
키워드 투자 , 주식 , 펀드 , 금융 , 거래 자동화 , 넘파이 , 판다스 , Oanda, FXCM
분 야 프로그래밍 / 파이썬

교재 검토용 증정 안내

■ 학교 및 학원에서 교재 선정을 위해 책을 파일로 검토해보고자 하시는 분들은 다음의 페이지에서 신청 양식을 작성해주시기 바랍니다 . 확인 후 연락을 드리도록 하겠습니다 . http://goo.gl/vBtPo3

( 교재로 채택하신 분들은 메일 [[email protected]] 을 보내주시면 다음의 자료를 보내드리겠습니다 .)

샘플 PDF (표지, 차례, 옮긴이 머리말, 주요 번역 용어 대조표, 머리말, 베타리더 후기, 1장 '파이썬과 알고리즘 트레이딩', 2장 '파이썬 기반 구조' 일부)

■ (등록되는 대로 링크를 걸어드리겠습니다)


도서구매 사이트 (가나다순)

효율적이며 강력한 알고리즘 트레이딩을 위한 파이썬 라이브러리 활용법!
한때 기관 투자자가 독점하던 알고리즘 트레이딩이 이제는 온라인 플랫폼을 사용하는 소규모 조직과 개별 트레이더에게도 열려 있다. 파이썬과 이와 관련된 강력한 패키지 생태계는 오늘날 수많은 트레이더가 선택하는 필수 도구가 되었다. 저자인 이브스 힐피쉬는 실용적인 이 책을 통해 학생, 학자, 실무자에게 알고리즘 트레이딩이라는 매혹적인 분야에서 파이썬을 활용하는 방법을 보여준다.
또한, 이 책은 자동화한 알고리즘 트레이딩 전략을 체계적으로 구축하고 배포할 수 있게 하는 선택지를 제공한다. 기울어진 운동장을 여러분의 힘으로 평평하게 하는 일에 큰 도움을 줄 것으로 생각한다.

■ 알고리즘 트레이딩에 적합한 파이썬 환경 구성하기
■ 공공 데이터나 사설 데이터 공급원에서 금융 데이터를 가져오는 방법 배우기
■ 넘파이와 판다스로 금융 분석을 하기 위한 벡터화 방법 모색하기
■ 다양한 알고리즘 트레이딩 전략을 대상으로 벡터화 백테스트에 숙달하기
■ 머신러닝과 딥러닝을 활용해 시장 예측하기
■ 소켓 프로그래밍 도구를 사용해 스트리밍 데이터의 실시간 처리 문제 해결하기
■ Oanda 와 FXCM 이라는 트레이딩 플랫폼을 기반으로 자동화된 알고리즘 트레이딩 전략 구현하기

이브스 힐피쉬(Yves J. Hilpisch)
금융 데이터 과학, 인공지능, 알고리즘 트레이딩, 계산 금융을 위한 오픈소스 기술 사용에 중점을 둔 회사 에이아이머신(AI Machine)과 파이썬 퀀츠(Python Quants)의 설립자이자 최고경영자다. 또한 《Artificial Intelligence in Finance》(O’Reilly, 2020), 《Python for Finance》(2nd ed., O’Reilly, 2018), 《Derivatives Analytics with Python》 (Wiley, 2015), 《Listed Volatility and Variance Derivatives》(Wiley, 2017)를 저술했다. 또한 CQF(Certificate in Quantitative Finance, https://www.cqf.com)에서 컴퓨터 금융에 대해, 그리고 htw saar 대학(https://www.htwsaar.de)에서 데이터 과학에 대해 강의하고, 금융을 위한 파이썬 자격증 취득으로 이어지는 온라인 교육 프로그램의 책임자로 있다.

정보기술(IT)과 관련하여 다양한 개발·저술·번역·기술편집·기술교정·자문·발표·기고를 해 왔다. 1인 기업을 세웠다가 닫았다. 최근에는 주로 인공지능과 관련한 번역·자문·강의를 한다. 저술하고 번역한 책들이 많아서 좁은 지면에 모두 나열하기 어렵다. 이 책들을 온라인 서점에서 역자의 이름으로 쉽게 검색해서 찾아볼 수 있다(다만 검색된다고 해서 다 역자의 책인 것은 아니다). 저술하고 번역한 책 중에는 정보기술과 무관한 것들도 있다. 제이펍에서 출간한 번역서로는 《케라스 창시자의 딥러닝 with R》, 《R로 배우는 텍스트 마이닝》, 《파이썬으로 배우는 응용 텍스트 분석》, 《검색을 위한 딥러닝》, 《객체지향 사고 프로세스》 등이 있다.


0 개 댓글

답장을 남겨주세요