알고리즘 트레이딩에서의 파이썬 - 페이지 16

 

IBridgePy의 최신 백테스팅 기능 작성자 Hui Liu - 2019년 8월 9일


IBridgePy의 최신 백테스팅 기능 작성자 Hui Liu - 2019년 8월 9일

iBridgePy의 창시자인 Hui Liu 박사는 iBridgePy에서 제공하는 최신 백테스팅 기능에 대한 자세한 개요를 제공합니다. 그는 iBridgePy의 기본 기능에 대해 논의하고 알고리즘 거래 전략 구축과 관련된 기본 단계를 설명하는 것으로 시작합니다.

Liu 박사는 iBridgePy의 백테스팅 시스템에 초점을 맞추고 사용법을 보여주는 두 가지 샘플 코드를 제시합니다. 첫 번째 샘플 코드는 Interactive Brokers의 기록 데이터를 활용하고 두 번째 샘플 코드는 사용자가 자신의 기록 데이터를 제공하여 백테스팅 경험을 개선할 수 있는 방법을 보여줍니다. 그는 향후 개선이 필요한 영역을 식별하기 위해 백테스팅 성능 분석의 중요성을 강조합니다.

프레젠테이션에서 Dr. Liu는 사용자가 고문 중개인이 제공하는 다양한 증권 또는 상품을 거래하고 여러 계정을 동시에 관리할 수 있는 하이브리드 파이 기능을 소개합니다. 그는 여러 거래 전략을 실행하고 백테스팅 중에 컨설팅 알고리즘을 실행하는 것과 같은 투자 고문의 이점을 강조합니다.

중개인과 연결하고 실시간 데이터를 검색하기 위해 Dr. Liu는 iBridgePy 내에서 "Example Show Positions", "Example Real-Time Price" 및 "Get Historical Data"와 같은 다른 파일 간에 전환하는 방법을 시연합니다. 사용자는 계정 코드, 파일 이름을 사용자 지정하고 계정 잔액 및 보류 중인 주문에 액세스할 수 있습니다. iBridgePy의 초기화 기능은 전역 변수를 선언하며 사용자는 코드 상자를 활용하고 하이브리드 팩 버전을 보고하여 iBridgePy 팀의 도움을 받을 수 있습니다. Liu 박사는 또한 IBGateway 폐쇄 및 TWS Trade Workstation 개설에 대한 지침을 제공합니다.

발표자는 코드 시작 부분에서 실행되는 초기화 기능부터 시작하여 iBridgePy의 주요 기능을 다룹니다. 거래 결정을 내리는 핸들 데이터 기능은 매분 또는 구성 가능한 간격으로 실행되도록 예약할 수 있습니다. 사용자는 이벤트 스케줄링을 위해 데이터 처리 대신 스케줄 기능을 활용할 수 있습니다. 특정 증권의 실시간 가격은 show_real_time_price 함수를 사용하여 액세스할 수 있으며 과거 데이터는 request_historical_data 함수를 사용하여 검색할 수 있습니다. 유가 증권을 사고 팔려면 place_order 기능을 사용합니다. Dr. Liu는 스톡 스크리너 기능의 라이브 데모를 포함하여 그 기능을 보여줍니다.

Liu 박사는 사용자가 소셜 미디어 정서 및 가격을 기반으로 주식을 검색할 수 있는 iBridgePy의 주식 스크리너 기능에 대해 설명합니다. 사용자는 기기 유형, 위치 코드 및 스캔 코드와 같은 검색 매개변수를 정의할 수 있습니다. 100달러 이상의 가격을 가진 미국 주요 주식을 검색하기 위한 스캔 코드로 소셜 센티멘트 넷을 사용하는 예가 제공됩니다. 연사는 가장 활동적인 주식 목록을 제시하고 소셜 미디어 정서가 주식 인기도에 대한 통찰력을 제공할 수 있는 방법을 강조하면서 실제로 주식 스크리너를 시연합니다. 그는 알고리즘 거래 전략을 구축할 때 계약 선택과 위험 관리 지침 설정의 중요성을 강조하면서 결론을 내립니다.

iBridgePy를 사용하여 알고리즘 거래 전략을 구축하는 기본 단계는 Dr. Liu가 설명합니다. 그는 주식 선택, 거래 결정을 내리는 시간 간격 결정, 과거 데이터를 통한 기술 지표 계산, 주문 유형 선택 및 예외 처리에 대해 논의합니다. 예를 들어, 그는 SPY 계약을 수동으로 입력하고 일일 종가를 사용하여 거래 결정을 내리는 간단한 복귀 전략을 제시합니다. 샘플 코드에는 거래 결정을 내리는 예약 기능과 일일 기능이 포함되어 있습니다.

Liu 박사는 iBridgePy의 백테스팅 기능을 자세히 살펴보며 과거 데이터를 검색하고 pandas 데이터 프레임을 활용하여 유가 증권 종가를 분석하는 기능을 강조합니다. 그는 이동 평균 크로스오버를 사용하는 추세 전략에 대한 샘플 코드를 시연하고 백테스팅의 기본 사항을 설명합니다. 백테스팅은 거래 결정을 알리고 과거 데이터에 대한 성과를 테스트하기 위해 과거 데이터를 기반으로 한 전략 실행을 포함합니다. 그는 또한 함수 실행 타이밍을 제어하기 위한 핸들 데이터 함수의 대체 사용을 강조하여 미국 시장 개장 및 마감 시간을 기반으로 예약된 함수에 대한 옵션을 제공합니다.

Liu 박사는 iBridgePy 백테스팅 시스템 및 관련 프로세스에 대한 통찰력을 제공합니다. 그는 iBridgePy를 사용한 백테스팅 모드에서 사용된 타임캡슐 또는 촛대가 라이브 거래와 매우 유사하다고 설명합니다. 각 캔들스틱에는 시작 시간, 시가, 고가, 저가, 종가, 거래량 등의 정보가 포함되어 있습니다. 그러나 백테스팅에서 스프레드를 정확하게 모델링할 수 없기 때문에 타임캡슐에는 요청 또는 입찰 가격이 포함되지 않습니다.

Liu 박사는 백테스팅 모드가 시장 주문, 지정가 주문 및 중지 주문을 지원하지만 추적 주문은 의미 있는 결과를 제공하지 않을 수 있으므로 현재 지원되지 않는다고 언급합니다. 백테스팅 중 트랜잭션 세부 정보는 백테스팅이 시작된 시간이 포함된 파일 이름과 함께 출력 폴더에 저장됩니다.

계속해서 Dr. Liu는 iBridgePy에서 백테스팅 기간을 설정하는 기본 프로세스를 설명합니다. 사용자는 특정 주식에 대한 과거 데이터를 검색하는 시간 프레임을 설정하고 시간대 빈도를 1분, 1시간 또는 1일로 지정할 수 있습니다. 이전 계약의 과거 데이터는 SPY 또는 AAPL과 같은 시세 표시기를 사용하여 검색할 수 있습니다. 코드는 특히 최신 스팟 시간에 실행되어야 원하는 시간 프레임 내의 데이터를 사용할 수 있습니다. 기본적으로 현금은 $10,000부터 시작합니다. Liu 박사는 데모를 사용하여 계정 잔액과 포지션을 표시하는 방법을 시연합니다.

프레젠테이션에서 Dr. Liu는 iBridgePy의 백테스팅 기능을 사용하여 가까운 가격 복귀를 위한 데모 코드를 시뮬레이션하는 방법을 시연합니다. 그는 과거 데이터를 기반으로 실시간 가격을 사용하는 방법과 목표를 실행하여 성능을 관찰하는 방법을 보여줍니다. 그는 또한 매분이 아니라 매시간 코드를 실행하도록 간격을 변경하는 방법을 보여줍니다. 전반적으로 비디오는 투자 전략을 위해 iBridgePy의 백테스팅 기능을 활용하는 방법에 대한 유용한 데모를 제공합니다.

Liu 박사는 계속해서 iBridgePy를 사용하여 백테스팅 프로세스를 개선하는 것의 중요성에 대해 논의합니다. 그는 리소스를 낭비하고 IB 간격 규칙을 위반하기 때문에 정확히 동일한 데이터를 가져오기 위해 동일한 코드를 반복적으로 실행하지 말 것을 제안합니다. 대신 그는 동일한 파일 이름으로 정의된 계획을 사용하여 기록 데이터를 가져와서 실행해야 하는 코드의 양을 줄일 것을 권장합니다. 또 다른 제안은 Interactive Brokers에서 데이터를 가져오는 대신 사용자가 제공한 기록 데이터를 사용하여 백테스팅 프로세스를 보다 효율적으로 만드는 것입니다.

또한 Dr. Liu는 iBridgePy에서 백테스팅을 위한 로컬 데이터를 제공하는 기능을 소개합니다. 사용자는 시가, 고가, 종가, 거래량 등과 같은 필요한 모든 열이 포함된 CSV 파일을 제공할 수 있습니다. iBridgePy는 로컬 파일에서 데이터를 수집하고 그에 따라 백테스팅을 시뮬레이션합니다. 볼륨을 사용할 수 없는 경우 값으로 '-1'을 입력할 수 있습니다. 이 기능은 사용자의 개인 전략에 대한 정확한 결과를 보장하고 시뮬레이션의 효율성을 향상시킵니다.

Liu 박사는 또한 iBridgePy의 추가 백테스팅 기능(예: 맞춤형 시간 생성기 및 테스트 코드에 난수 사용 기능)을 강조합니다. Python 패키지와 사용자 지정 목록을 사용하여 시계열을 생성하는 방법과 실시간 가격 대신 난수를 사용하여 코드를 테스트하는 방법을 시연합니다. 그는 성능 분석의 중요성에 대해 더 논의하고 로그 파일을 사용하여 백테스팅의 성능을 추적하고 분석하는 방법을 소개합니다. 이러한 새로운 기능은 iBridgePy에서 코드를 테스트하고 분석하는 더 빠르고 효율적인 방법을 제공합니다.

또한 Liu 박사는 iBridgePy 백테스팅의 다른 기능에 대해 설명합니다. 여기에는 포트폴리오 가치와 현금에 대한 자세한 정보를 제공하는 잔액 로그와 트랜잭션 로그가 포함됩니다. 그는 차트를 생성하기 위해 Sharpe 비율 및 matplotlib 패키지와 같은 메트릭을 사용하여 백테스팅 결과를 시각화하고 분석하는 방법을 시연합니다. Liu 박사는 사용자가 종이 계정의 결과에 만족하면 실제 거래를 위해 라이브 계정으로 전환할 수 있다고 말합니다.

웨비나의 Q&A 세션에서 Dr. Liu는 iBridgePy의 최신 기능에 대한 참석자들의 다양한 질문에 답합니다. 한 가지 질문은 iBridgePy로 다른 사람의 투자 계정을 관리하는 것과 관련이 있습니다. Liu 박사는 개인이 포트폴리오 고문이 될 수 있고 iBridgePy를 사용하여 다른 사람의 투자 계정을 관리하기 위해 Interactive Brokers로 관리 계정을 설정할 수 있다고 설명합니다.

제기된 또 다른 질문은 특정 전략에 대한 샘플 코드 다운로드에 관한 것입니다. Liu 박사는 참석자들이 iBridgePy 웹사이트에서 또는 iBridgePy 커뮤니티 포럼에 연락하여 필요한 샘플 코드를 얻을 수 있다고 제안합니다. 또한 그는 백테스팅을 위해 역사적 옵션 가격과 그리스 데이터를 얻는 방법에 대해 참석자들에게 조언합니다. Liu 박사는 개인이 Interactive Brokers로부터 역사적 옵션 가격을 얻을 수 있고 액세스 권한이 있는 경우 Python 코드를 작성하여 그리스 데이터를 활용할 수 있다고 언급합니다.

한 참석자는 iBridgePy가 감시 목록을 검색하는 API를 지원하는지 묻습니다. Liu 박사는 현재 iBridgePy가 감시 목록을 얻기 위한 특정 API를 제공하지 않는다고 설명합니다. 그러나 그는 사용자가 Interactive Brokers의 플랫폼 내에서 감시 목록을 수동으로 만들 수 있다고 제안합니다.

결론적으로 Dr. Liu는 참석자들에게 iBridgePy 커뮤니티 포럼에 추가 질문을 게시하거나 그에게 이메일을 보내도록 권장함으로써 웨비나를 마무리합니다. 그는 참석자들에게 요청 시 프레젠테이션 녹화본을 제공할 것임을 보증합니다. Liu 박사는 또한 사용자에게 iBridgePy 웹사이트를 방문하여 소프트웨어를 다운로드하고 API 문서에 액세스할 것을 상기시킵니다. 그는 웨비나 내내 참석해 주시고 관심을 가져주신 참가자들에게 감사를 표합니다.

  • 00:00:00 Dr. Hui Liu가 iBridgePy의 최신 백테스팅 기능에 대해 설명하고 iBridgePy에 대한 간략한 개요를 제공합니다. 그는 iBridgePy의 기본 기능을 검토하고 거래 전략을 위한 알고리즘을 구축하는 기본 단계를 설명합니다. 그런 다음 iBridgePy 백테스팅 시스템에 초점을 맞추고 백테스팅을 위한 두 가지 샘플 코드를 제공합니다. 첫 번째 샘플은 Interactive Brokers의 기록 데이터를 사용하고 두 번째 샘플은 사용자가 제공한 기록 데이터를 사용하여 백테스팅 경험을 개선하는 방법에 대해 설명합니다. Liu 박사는 마지막으로 향후 개선을 위한 백테스팅 성능 분석의 중요성에 대해 이야기합니다.

  • 00:05:00 Hui Liu 박사가 IBridgePy의 최신 백테스팅 기능에 대해 설명합니다. 여기에는 고문 중개인이 제공하는 모든 증권 또는 상품을 거래하고 하이브리드 파이 기능을 통해 여러 계정을 동시에 관리하는 기능이 포함됩니다. 투자 고문은 IBridgePy의 여러 거래 전략을 실행하고 백테스팅 중에 컨설팅 알고리즘을 실행할 수 있는 기능을 활용할 수 있습니다. Hybrid Pie 기능을 준비하기 위한 지침은 IBridgePy 다운로드, Interactive Brokers와 같은 브로커로 페이퍼 또는 라이브 계정 생성, IB 소프트웨어(경량 IB 게이트웨이 또는 GUI 기반 트레이더 워크스테이션) 설치 및 구성을 포함하여 간단합니다. IBridgePy.

  • 00:10:00 Dr. Hui Liu는 IBridgePy를 사용하여 브로커에 연결하고 "Example Show Positions", "Example Real-Time Price" 및 "Get Historical Data"와 같은 서로 다른 파일 사이를 전환하여 실시간 데이터를 얻는 방법을 시연합니다. ". 사용자는 계정 코드 및 파일 이름을 변경할 수 있으며 계정 잔액 및 예약 주문을 확인할 수 있습니다. 초기화 기능은 IBridgePy에서 전역 변수를 선언하고 사용자는 코드 상자를 사용하고 하이브리드 팩 버전을 보고하여 IBridgePy 팀에 도움을 요청할 수 있습니다. 마지막으로 Hui Liu 박사가 IBGateway를 닫고 TWS Trade Workstation을 여는 방법을 보여줍니다.

  • 00:15:00 발표자는 TWS에 연결하는 방법을 빠르게 설명한 다음 iBridgePy의 주요 기능을 설명합니다. 초기화 기능은 코드 시작 부분에서 실행되도록 선언된 반면 데이터 처리 기능은 거래 결정이 내려지고 매분 또는 구성 가능한 간격으로 실행되는 곳입니다. 이벤트를 예약하기 위해 사용자는 데이터를 처리하는 대신 예약 기능을 사용할 수 있습니다. 특정 증권의 실시간 가격은 show_real_time_price 함수를 사용하여 액세스할 수 있으며 과거 데이터는 request_historical_data 함수를 사용하여 검색할 수 있습니다. place_order 기능은 유가 증권을 사고 파는 데 사용되며 연사는 주식 스크리너 기능의 라이브 데모도 제공합니다.

  • 00:20:00 iBridgePy의 창시자인 Hui Liu 박사가 주식 스크리너 기능을 사용하여 소셜 미디어 감정 및 가격을 기반으로 주식을 검색하는 방법을 시연합니다. 그는 사용자가 상품 유형, 위치 코드 및 스캔 코드를 지정하여 스캐너에 대한 검색 매개변수를 정의할 수 있다고 설명합니다. 예를 들어 소셜 센티멘트 넷을 가격이 100달러 이상인 미국 주요 주식 검색을 위한 스캔 코드로 사용합니다. 그런 다음 Liu 박사는 라이브 시장에서 주식 스크리너를 시연하여 가장 활동적인 주식 목록과 소셜 미디어 정서가 특정 주식의 인기에 대한 통찰력을 제공하는 방법을 보여줍니다. 마지막으로 그는 거래할 계약 선택 및 위험 관리 지침 설정 방법을 포함하여 알고리즘 거래 전략을 구축하기 위한 몇 가지 주요 고려 사항을 설명합니다.

  • 00:25:00 Hui Liu 박사가 iBridgePy를 사용하여 알고리즘 거래 전략을 구축하는 기본 단계에 대해 설명하고 간단한 복귀 전략 예제를 설명합니다. 전략을 수립하는 단계에는 주식 선택, 거래 결정을 위한 시간 간격 결정, 과거 데이터를 통한 기술 지표 계산, 주문 유형 선택 및 예외 처리가 포함됩니다. 단순 복귀 전략은 수동으로 SPY 계약을 입력하고 일일 종가를 기준으로 거래 결정을 내리는 것입니다. 전략의 샘플 코드에는 거래 결정을 내리는 예약 기능과 일일 기능이 포함되어 있습니다.

  • 00:30:00 Hui Liu 박사가 iBridgePy의 최신 백테스팅 기능에 대해 설명합니다. 여기에는 기록 데이터를 검색하고 pandas 데이터 프레임을 사용하여 유가 증권 종가를 분석하는 기능이 포함됩니다. 그는 이동 평균 교차를 사용하는 추세 전략의 샘플 코드를 시연하고 과거 데이터를 고려하여 거래 결정을 알리고 성공적인 결과를 생성하는지 확인하기 위해 과거 데이터와 비교하여 테스트 전략을 구현하는 백 테스트의 기본 사항을 설명합니다. Liu는 또한 기존 핸들 데이터 기능을 사용하여 기능이 실행되는 시기를 제어할 수 있으며 미국 시장 개장 및 마감 시간에 의존하는 예약 기능에 대한 대안을 제공할 수 있다고 언급합니다.

  • 00:35:00 Hui Liu 박사는 Ibridgepy를 사용한 백테스팅 모드에서 사용되는 타임캡슐이나 촛대가 라이브 거래와 매우 유사하다고 설명합니다. 각 캔들스틱에는 시작 시간, 시가, 고가, 저가, 종가, 거래량 등의 정보가 포함되어 있습니다. 그러나 타임캡슐에는 백테스팅에서 스프레드를 잘 모델링할 수 없기 때문에 요청 또는 입찰 가격이 포함되지 않습니다. 데이터는 IB에서 제공하거나 Python이 데이터를 읽고 pandas 데이터 프레임으로 변환할 수 있는 한 사용자가 자신의 데이터 소스를 어떤 형식으로든 제공할 수 있습니다. 백테스팅 모드는 현재 시장가 주문, 지정가 주문, 정지 주문을 지원하지만 추적 주문은 정확하지 않고 의미 있는 결과를 제공하지 않기 때문에 지원하지 않습니다. 마지막으로 백테스팅이 시작된 시간이 포함된 파일 이름으로 트랜잭션 세부 정보가 출력 폴더에 저장됩니다.

  • 00:40:00 Hui Liu 박사가 iBridgePy 백테스팅 시스템의 기본 사항을 설명합니다. 모의 거래일이 시작되면 시스템은 포트폴리오 가치를 계산하고 이를 잔액 로그에 기록합니다. 그런 다음 그는 Interactive Brokers의 과거 데이터를 사용하고 "종가 반전"이라는 전략을 백테스팅하는 방법을 보여줍니다. 이를 위해 그는 파일 이름을 선택하고 데이터 공급자 이름 및 실행 모드와 같은 일부 매개 변수를 수정합니다. 그는 또한 사용자가 iBridgePy에게 전략에 사용하기 위해 Interactive Broker로부터 어떤 데이터를 받고 싶은지 알려주는 과거 데이터 수집 계획의 개념을 설명합니다. 백테스트를 실행하려면 사용자는 일일 막대 과거 데이터와 시장 마감 1분 전에 시장 마감 가격 정보를 검색하기 위한 1분 데이터가 필요합니다.

  • 00:45:00 Hui Liu 박사가 iBridgePy에서 백테스팅 기간을 설정하는 과정을 설명합니다. 특정 주식에 대한 과거 데이터를 검색하도록 시간 프레임을 설정할 수 있으며, 시간대 빈도는 1분, 1시간 또는 하루로 설정할 수 있습니다. 이전 계약의 과거 데이터는 SPY 또는 AAPL 티커를 사용하여 검색할 수 있습니다. 코드는 최신 스팟 시간에 구체적으로 실행되어야 하며 적절한 시간 프레임 내의 데이터를 사용할 수 있어야 합니다. 기본 현금은 $10,000부터 시작하며 Hui는 데모를 사용하여 계정 잔액과 포지션을 표시하는 방법을 보여줍니다.

  • 00:50:00 Dr. Hui Liu가 IBridgePy의 백테스팅 기능을 사용하여 가까운 가격 복귀를 위한 데모 코드를 시뮬레이션하는 방법을 시연합니다. 그는 과거 데이터를 기반으로 실시간 가격을 사용하는 방법과 대상을 실행하여 성능을 확인하는 방법을 보여줍니다. 그는 또한 매분이 아닌 매시간 코드를 실행하도록 간격을 변경하는 방법을 보여줍니다. 전반적으로 비디오는 투자 전략을 위해 IBridgePy의 백테스팅 기능을 사용하는 방법에 대한 유용한 데모를 제공합니다.

  • 00:55:00 Hui Liu 박사가 iBridgePy를 사용하여 백테스팅 프로세스를 개선하는 방법에 대해 논의합니다. 첫 번째 제안은 리소스를 낭비하고 IB 간격 규칙을 위반하는 정확히 동일한 데이터를 가져오기 위해 동일한 코드를 반복적으로 실행하지 않는 것입니다. 대신 동일한 파일 이름으로 정의된 계획을 사용하여 기록 데이터를 가져오므로 실행해야 하는 코드의 양이 줄어듭니다. 두 번째 제안은 IB에서 데이터를 가져오는 대신 사용자가 제공한 과거 데이터를 사용하여 백테스팅 프로세스를 보다 효율적으로 만드는 것입니다.

  • 01:00:00 Hui Liu 박사가 IBridgePy에서 백테스팅을 위한 로컬 데이터를 제공하는 기능에 대해 설명합니다. ID 서버에서 데이터를 가져오는 대신 사용자는 시가, 고가, 종가, 거래량 등과 같은 필요한 모든 열이 포함된 CSV 파일을 제공할 수 있습니다. IBridgePy는 로컬 파일에서 데이터를 수집하고 그에 따라 백테스팅을 시뮬레이션합니다. . 그러나 볼륨을 사용할 수 없는 경우 값으로 '-1'을 입력할 수 있습니다. 또한 이 기능은 사용자의 개인 전략에 대한 정확한 결과를 제공하고 효율적인 시뮬레이션을 수행할 수 있습니다.

  • 01:05:00 Dr. Hui Liu가 맞춤형 시간 생성기 및 테스트 코드에 난수를 사용하는 기능과 같은 IBridgePy의 최신 백테스팅 기능에 대해 설명합니다. Python 패키지와 사용자 지정 목록을 사용하여 시계열을 만드는 방법과 실시간 가격이 아닌 난수를 사용하여 코드를 테스트하는 방법을 시연합니다. 또한 로그 파일을 사용하여 백테스팅의 성능을 추적하고 분석하는 성능 분석에 대해서도 설명합니다. 전반적으로 이러한 새로운 기능은 IBridgePy에서 코드를 테스트하고 분석하는 더 빠르고 효율적인 방법을 제공합니다.

  • 01:10:00 Hui Liu 박사가 iBridgePy 백테스팅의 추가 기능에 대해 설명합니다. 여기에는 포트폴리오 가치와 현금에 대한 자세한 내용을 보여주는 잔액 로그와 트랜잭션 로그가 포함됩니다. 또한 샤프 비율과 matplotlab 패키지를 사용하여 백테스팅 결과를 시각화하고 분석하여 차트를 만드는 방법을 보여줍니다. Liu 박사는 사용자가 종이 계정의 결과에 만족하면 라이브 계정으로 전환할 수 있다고 말합니다.

  • 01:15:00 Hui Liu 박사가 iBridgePy의 최신 기능에 대한 웨비나 참석자의 다양한 질문에 답변합니다. 그는 개인이 포트폴리오 어드바이저가 되어 IB에 관리 계정을 설정한 후 iBridgePy로 다른 사람의 투자 계정을 관리할 수 있다고 언급합니다. 참석자들은 또한 전략에 대한 샘플 코드를 다운로드하고 과거 옵션 가격과 백테스팅을 위한 그리스 데이터를 얻는 것에 대해 질문합니다. Liu는 개인이 IB에서 역사적 옵션 가격을 얻을 수 있고 Python 코드를 작성하여 그리스 데이터가 있는 경우 이를 사용할 수 있다고 제안합니다. 마지막으로 그는 iBridgePy가 감시 목록을 가져오는 API를 지원하지 않지만 개인이 IB에서 수동으로 생성할 수 있다고 언급했습니다.

  • 01:20:00 Dr. Hui Liu는 참석자들에게 iBridgePy 커뮤니티 포럼에 추가 질문을 게시하거나 그에게 이메일을 보내도록 권장함으로써 웨비나를 끝냅니다. 그는 또한 요청 시 프레젠테이션 녹음을 사용할 수 있으며 참석자가 필요한 코드를 얻을 수 있는 iBridgePy 자습서를 곧 게시할 것이라고 말했습니다. Liu 박사는 또한 사용자에게 iBridgePy 웹사이트를 방문하여 소프트웨어를 다운로드하고 API 문서를 볼 수 있음을 상기시킵니다. 그는 참가자들의 참석과 관심에 감사하며 마무리합니다.
IBridgePy’s Latest Backtesting Features By Dr. Hui Liu - August 9, 2019
IBridgePy’s Latest Backtesting Features By Dr. Hui Liu - August 9, 2019
  • 2019.09.11
  • www.youtube.com
Session outline:- IBridgePy's cornerstone functions.- Basic steps to build a trading strategy.- Backtest strategies using IB's historical data.- Backtest str...
 

Python을 사용한 인도 시장의 프로그래밍 방식 거래 | 연 연결 API | 알고 트레이딩 제로다


Python을 사용한 인도 시장의 프로그래밍 방식 거래 | 연 연결 API | 알고 트레이딩 제로다

연사는 사용자가 Python을 사용하여 프로그래밍 방식으로 거래 계정에 액세스할 수 있는 플랫폼인 Kite Connect를 소개합니다. 그들은 Kite Connect의 이면에 있는 동기가 인도에서 증가하는 시장 참여 문제를 해결하는 것이라고 설명합니다. 그들은 서비스로서의 중개 개념을 도입하여 신생 기업이 Kite Connect의 API를 사용하여 고객을 위한 맞춤형 거래 경험을 구축할 수 있도록 했습니다. 이것은 차례로 시장에 투자할 다음 10-2000만 명의 인도인을 유치하는 것을 목표로 합니다. 연사는 또한 Zerodha를 175,000명 이상의 고객을 보유하고 인도 주식 시장 회전율에 크게 기여한 인도 최고의 중개 회사로 강조합니다.

연사는 인도의 수천 명의 고객에게 간단하고 저렴한 온라인 거래 플랫폼을 제공하기 위해 개발된 Kite Connect의 기원에 대한 통찰력을 제공합니다. 종종 자신의 기술을 활용할 기회가 부족한 인도의 대규모 소프트웨어 엔지니어 풀을 인식하여 Kite Connect는 소프트웨어 엔지니어가 전략을 백테스트하고 위치를 관리할 수 있도록 API를 제공했습니다. 플랫폼은 API 사용에 대해 요금을 부과하지만 가입하는 신규 개발자를 위한 할인 코드도 제공합니다. 그런 다음 발표자는 Kite Connect를 사용하여 맞춤형 거래 플랫폼을 구축하는 것이 얼마나 쉬운지 시연하는 동료를 소개합니다. 이 시연은 주문, 보유 포지션 검색, 궁극적으로 거래 전략 개발에 중점을 둡니다.

연사는 Python을 사용하여 인도 시장에서 프로그래밍 방식 거래에 중요한 Kite Connect API용 API 키를 얻는 방법에 대한 단계별 가이드를 제공합니다. 또한 사용자에게 주문 및 거래 확인 상태를 알리는 데 사용되는 포스트백 URL의 개념을 설명합니다. 또한 발표자는 단 몇 줄의 코드로 API 사용을 단순화하는 Kite Connect Python 라이브러리 설치의 중요성을 강조합니다. 거래 앱의 필수 기능, 앱 개발 프로세스 중 요청 응답 및 예외 처리의 중요성, 모든 거래 앱에 대한 보안 인증의 중요성에 대해 논의합니다.

다음으로 발표자는 Zerodha의 Kite Connect API를 사용하여 인도 시장에서 프로그래밍 방식 거래에 Python을 사용할 수 있는 방법을 설명합니다. 프로세스는 API 키를 사용하여 Kite 플랫폼으로 리디렉션하고 사용자 계정에 로그인하는 것으로 시작됩니다. 로그인하면 요청 토큰이 다시 전송되어 사용자를 인증하고 액세스 토큰을 얻는 데 사용됩니다. 연사는 라이브러리 가져오기, API 키 저장 및 요청 토큰 얻기와 같은 단계를 다루는 Kite Connect API 사용에 대한 실습 데모를 제공합니다. 마지막으로 액세스 토큰을 얻기 위해 요청 토큰을 API 시크릿으로 해시합니다.

비디오는 인도 시장에서 프로그래밍 방식의 거래를 위해 Python 및 Kite Connect API를 사용하는 방법에 대해 논의하면서 계속됩니다. 액세스 및 공개 토큰을 설정하는 프로세스를 안내하며, 그런 다음 스트리밍 시장 정보를 위해 Kite Connect API와의 연결을 설정하는 데 사용됩니다. 비디오는 거래 기호, 수량, 거래 유형, 주문 유형 및 제품 지정을 포함하여 주문하는 방법을 설명합니다. 또한 주문 세부 정보, 보유 및 위치를 검색하는 방법도 다룹니다. 발표자는 비디오에서 다루는 것 외에도 많은 추가 API 호출이 있지만 모두 Kite Connect의 웹 사이트에 잘 설명되어 있다고 강조합니다.

연사는 인도 시장에서 프로그래밍 방식 거래를 위해 Kite Connect API를 사용할 때 도구의 중요성에 대해 자세히 설명합니다. 상품은 다양한 주식 기호 및 계약을 처리하는 데 사용되며 스트리밍 데이터를 구독하거나 구독 취소하려면 고유한 상품 ID가 필요합니다. 연사는 장비 ID가 포괄적인 CSV 파일에서 얻을 수 있으며 기록 데이터에 액세스하는 데에도 사용된다고 설명합니다. LTP 모드, 코드 모드 및 전체 텍스트 모드와 같은 다양한 데이터 수신 모드를 포함하여 WebSocket 스트리밍에 대해 설명합니다. 연사는 WebSocket을 통해 스트리밍 데이터가 작동하는 방식과 콜백을 사용하여 데이터를 수신하는 방식에 대한 예를 제공합니다. 또한 연사는 포스트백의 사용과 이를 구현하기 위한 공개 URL의 요구 사항에 대해 설명합니다.

연사는 과거 데이터를 사용한 거래 전략의 구현을 다루고 Kite Connect API를 사용한 주문의 용이성을 강조합니다. 스타트업이 Kite 서버에서 포스트백을 수신하는 엔드포인트를 보유하여 무엇보다도 주문 성공 또는 실패에 대한 알림을 활성화하는 방법에 대해 논의합니다. 데이터를 요청하기 전에 Kite의 과거 데이터 기능을 구독하는 것을 강조하면서 API를 사용하여 과거 데이터를 얻는 과정을 보여줍니다. 마지막으로 Kite API로 주문하는 단순성을 설명하기 위해 기본 이동 평균 전략이 제시됩니다.

연사는 Python과 Kite Connect API를 사용하여 인도 시장에서 프로그래밍 방식으로 거래하기 위한 자신만의 전략을 공유합니다. 이 전략에는 이동 평균을 계산하고 교차가 있을 때마다 거래를 하는 것이 포함됩니다. 주문하는 기능을 선보이며 실제 거래에 필요한 코드는 단 한 줄이라는 점을 강조합니다. 그들의 전략이 최고가 아닐 수 있음을 인정하면서도 다양한 거래 기호 및 거래 유형에 대한 구현 및 수정의 용이성을 강조합니다. 발표자는 Kite Connect API가 오픈 소스이므로 사용자 정의가 가능하고 거래 플랫폼을 만드는 데 사용할 수 있다고 언급합니다. 그들은 또한 질문이나 문제가 있는 사용자를 지원하기 위해 Kite Connect 웹 사이트에서 사용할 수 있는 광범위한 문서와 활성 포럼을 언급합니다.

Quant Institute(QuantInsti)의 CEO가 2010년부터 알고리즘 및 퀀트 거래에 적극적으로 참여해 온 회사를 소개합니다. 이 회사는 전 세계 수천 명의 학생들에게 교육 프로그램과 이벤트를 제공합니다. CEO는 웨비나에서 논의된 거래 전략에서 프로그래밍 방식의 Python 사용과 일치함을 표현하고 모든 질문에 답할 수 없는 것에 대해 사과하지만 그들의 팀이 모든 질문을 부지런히 조사하고 해결하고 있음을 청중에게 확신시킵니다.

발표자는 QuantInsti의 EPAT 프로그램의 영향에 대해 논의합니다. 이 프로그램은 퀀트 및 알고리즘 거래에 중점을 둔 종합적인 6개월 온라인 과정입니다. 이 프로그램은 통계, 계량 경제학, 금융 컴퓨팅, Python, MATLAB, 백테스팅 도구 및 다양한 거래 전략 패러다임을 포함한 광범위한 주제를 다룹니다. 그들은 이 과정이 전 세계의 다양한 경험이 풍부한 실무자 그룹에 의해 진행된다는 점을 강조합니다. 이 프로그램의 졸업생은 노동력에 들어갈 준비가 잘 되어 있으며 QuantInsti는 자신의 트레이딩 데스크 설치에 관심이 있는 사람들을 위해 경력 서비스 및 지침을 제공합니다. 6개 대륙에 걸쳐 30개 이상의 국가에 동문이 있는 프로그램의 글로벌 범위가 강조됩니다.

발표자는 2016년 11월 3일 오후 6시 30분(IST)에 예정된 알고리즘 거래에 대한 정보 세션에 시청자를 초대합니다. 청중이 교육 리소스를 찾고 토론에 참여할 수 있는 Facebook, Twitter, LinkedIn 및 YouTube와 같은 소셜 미디어 플랫폼에서 회사를 팔로우하도록 권장합니다. 그들은 관심있는 참가자에게 링크를 보내고 Borninstorms에서 제공된 양식을 통해 질문을 제출하도록 초대합니다. 마지막으로 연사는 이제 청중의 질문에 답하기 시작할 것이라고 말하면서 결론을 내립니다.

  • 00:00:00 연사는 Kite Connect를 소개하고 사용자가 Python을 사용하여 프로그래밍 방식으로 거래 계정에 액세스할 수 있는 방법을 설명합니다. Kite Connect의 동기는 인도 시장 참여를 늘리는 문제를 해결하는 것이었고 서비스로서의 중개 개념이 도입되었습니다. 스타트업은 Kite Connect의 API를 사용하여 고객을 위한 틈새 사용자 경험을 구축할 수 있으며, 이는 향후 1000만~2000만 명의 인도인이 시장에 투자하도록 유도하는 데 도움이 될 것입니다. 연사는 또한 Zerodha가 국내 최고의 플랫폼을 제공하고 175,000명 이상의 고객을 보유하고 있어 인도 주식 시장 회전율의 상당 부분에 기여하고 있다고 언급합니다.
    |
  • 00:05:00 연사는 인도의 수천 명의 고객에게 간단하고 저렴한 온라인 거래 플랫폼을 제공하기 위해 개발된 Kite Connect의 기원을 설명합니다. 종종 자신의 기술을 사용할 기회가 없는 인도의 방대한 소프트웨어 엔지니어 풀을 인식하여 Kite Connect는 소프트웨어 엔지니어가 전략을 백테스트하고 위치를 관리할 수 있도록 API를 제공했습니다. 플랫폼은 API 사용에 대한 요금을 부과하지만 가입하는 신규 개발자에게 할인 코드도 제공합니다. 그런 다음 연사는 다른 동료에게 인계하여 Kite Connect를 사용하여 주문을 하고, 포지션을 확보하고, 궁극적으로 전략을 개발할 목적으로 맞춤형 거래 플랫폼을 구축하는 것이 얼마나 쉬운지 보여줍니다.

  • 00:10:00 화자는 Python을 사용하여 인도 시장에서 프로그래밍 방식 거래에 필수적인 Kite Connect API용 API 키를 얻는 방법에 대한 단계별 가이드를 제공합니다. 스피커는 또한 사용자에게 주문 및 거래 확인 상태를 알리는 데 사용되는 포스트백 URL에 대해 설명합니다. 또한 연사는 몇 줄의 코드 내에서 API 사용을 단순화하기 위해 구축된 Kite Connect API의 래퍼인 Kite Connect Python 라이브러리 설치의 중요성을 강조합니다. 연사는 또한 거래 앱의 기본 기능 분석과 거래 앱 개발 프로세스에서 요청 응답 및 예외의 중요성에 대해 설명합니다. 모든 거래 앱에 대한 보안 인증의 중요성을 강조하는 로그인 흐름도 여기에 설명되어 있습니다.

  • 00:15:00 연사는 Zerodha의 Kite Connect API를 사용하여 Python을 사용하여 인도 시장에서 프로그래밍 방식으로 거래하는 방법을 설명합니다. 첫 번째 단계는 API 키를 사용하여 Kite 플랫폼으로 리디렉션하고 사용자 계정에 로그인하는 것입니다. 로그인하면 사용자를 인증하고 액세스 토큰을 얻는 데 사용되는 요청 토큰이 다시 전송됩니다. 연사는 계속해서 라이브러리 가져오기, API 키 저장 및 요청 토큰 얻기를 포함하여 Kite Connect API 사용에 대한 실습 데모를 제공합니다. 마지막으로 요청 토큰은 API 시크릿으로 해싱하여 액세스 토큰을 얻는 데 사용됩니다.

  • 00:20:00 비디오는 인도 시장에서 프로그래밍 방식의 거래를 위해 Python 및 Kite Connect API를 사용하는 방법에 대해 설명합니다. 이 비디오는 액세스 토큰과 공개 토큰을 설정한 다음 해당 토큰을 사용하여 스트리밍 정보를 위해 Kite Connect API와의 연결을 설정하는 과정을 안내합니다. 비디오는 또한 거래 기호, 수량, 거래 유형, 주문 유형 및 제품과 같은 필수 구성 요소를 포함하여 주문하는 방법을 설명합니다. 마지막으로 비디오는 주문 세부 정보와 보유 및 위치를 검색하는 방법을 다룹니다. 비디오는 비디오에서 다룬 것 외에도 많은 추가 API 호출이 있음을 강조하지만 모두 Kite Connect의 웹 사이트에 잘 문서화되어 있습니다.

  • 00:25:00 연사는 Python을 사용하여 인도 시장에서 프로그래밍 방식 거래를 위해 Kite Connect API를 사용할 때 도구의 중요성에 대해 논의합니다. 상품은 다양한 주식 기호 및 계약을 처리하는 데 사용되며 스트리밍 데이터를 구독하거나 구독 취소하려면 고유한 상품 ID가 필요합니다. 발표자는 기기 ID는 거대한 CSV 파일에서 얻을 수 있으며 기록 데이터에 액세스하는 데에도 사용된다고 설명합니다. 발표자는 또한 WebSocket 스트리밍과 LTP 모드, 코드 모드 및 전체 텍스트 모드와 같이 데이터를 수신할 수 있는 다양한 모드에 대해 설명합니다. 연사는 WebSocket을 통해 스트리밍 데이터가 작동하는 방식과 콜백을 사용하여 데이터를 수신하는 방법에 대한 예를 제공합니다. 마지막으로 연사는 포스트백의 사용과 이를 구현하기 위한 공개 URL의 필요성에 대해 논의합니다.

  • 00:30:00 연사는 과거 데이터를 사용한 전략 구현과 Kite Connect API를 사용한 주문 용이성에 대해 논의합니다. 그는 스타트업이 성공 또는 실패한 주문에 대한 알림을 트리거하는 데 사용할 수 있는 Kite 서버에서 포스트백을 수신하는 엔드포인트를 가질 수 있는 방법을 설명합니다. 또한 그는 API를 사용하여 과거 데이터를 얻는 방법을 시연하고 과거 데이터를 요청하기 전에 Kite의 과거 데이터 기능을 구독해야 할 필요성을 강조합니다. 마지막으로 그는 Kite API로 주문하는 것이 얼마나 간단한지 설명하기 위해 기본 이동 평균 전략을 제시합니다.

  • 00:35:00 연사는 Python 및 Kite Connect API를 사용하여 인도 시장에서 프로그램 방식 거래 전략을 설명합니다. 이 전략에는 이동 평균을 계산하고 교차가 있을 때마다 거래를 하는 것이 포함됩니다. 실제 거래를 위한 한 줄의 코드와 함께 주문하는 기능이 표시됩니다. 연사는 그들의 전략이 최고는 아니지만 다양한 거래 기호 및 거래 유형에 맞게 구현하고 수정하기 쉽다고 강조합니다. Kite Connect API는 오픈 소스이므로 거래 플랫폼을 만드는 데 수정 및 사용할 수 있습니다. 연사는 또한 질문이나 문제를 지원하기 위해 Kite Connect 웹 사이트에서 사용할 수 있는 광범위한 문서와 활성 포럼을 언급합니다.

  • 00:40:00 Quantity의 CEO는 2010년부터 알고리즘 및 퀀트 거래에 참여하고 전 세계 수천 명의 학생들에게 교육 프로그램과 이벤트를 제공하는 회사를 소개합니다. 그들은 웨비나에서 논의된 거래 전략에서 Python의 프로그래밍 방식 사용과 일치한다고 언급하고 모든 질문에 답할 수 없는 것에 대해 사과하지만 그들의 팀이 모든 질문을 조사하고 해결하기 위해 노력하고 있음을 청중에게 확신시킵니다.

  • 00:45:00 연사는 QuantInsti의 EPAT 프로그램의 영향에 대해 논의합니다. 이 프로그램은 퀀트 및 알고리즘 거래에 중점을 둔 6개월 온라인 과정입니다. 이 프로그램은 통계, 계량 경제학, 금융 컴퓨팅, Python, MATLAB, 백테스팅 도구 및 다양한 거래 전략 패러다임을 포함한 광범위한 주제를 다룹니다. 이 과정은 업계에서 풍부한 경험을 가진 12명 이상의 실무자로 구성된 국제 수영장에서 진행됩니다. 이 프로그램의 졸업생은 취업 준비가 잘 되어 있으며 QuantInsti는 다양한 직업 서비스를 제공할 뿐만 아니라 자체 트레이딩 데스크를 설치하려는 사람들을 위한 무료 안내를 제공합니다. 이 프로그램은 6개 대륙 30개 이상의 국가에 있는 동문들과 함께 전 세계적으로 도달했습니다.

  • 00:50:00 발표자는 2016년 11월 3일 오후 6시 30분(IST)에 진행되는 알고리즘 거래에 대한 정보 세션에 시청자를 초대합니다. 또한 Facebook, Twitter, LinkedIn, YouTube와 같은 소셜 미디어 플랫폼에서 회사를 팔로우하여 수많은 교육 리소스를 찾고 토론에 참여할 수 있도록 권장합니다. 연사는 또한 관심 있는 참가자에게 링크를 보낼 것을 제안하고 Borninstorms에서 쿼리 양식을 작성하도록 초대합니다. 마지막으로 그는 이제 청중으로부터 질문을 받기 시작할 것이라고 말하면서 결론을 내립니다.
Algo Trading Zerodha | Algo Trading in Indian Markets with Python | Kite Connect API
Algo Trading Zerodha | Algo Trading in Indian Markets with Python | Kite Connect API
  • 2016.10.18
  • www.youtube.com
In this comprehensive tutorial on Algo Trading Zerodha in Indian markets, we explore the power of Zerodha's KiteConnect API and Python programming language t...
 

Python을 사용하여 대화형 브로커와 거래하기 | 류후이 박사



Python을 사용하여 대화형 브로커와 거래하기 | 류후이 박사

좋은 저녁입니다, 여러분! Kuantan Ste에서 주최하는 온라인 시장에서 알고리즘 트레이딩 전략 구현에 관한 웨비나에 오신 것을 환영합니다. 제 이름은 Slow Me이고 이곳의 선임 프로그램 관리자입니다. 우리는 밝고 이른 아침에 우리와 함께 할 수 있었던 하와이 사람들을 포함하여 오늘 전 세계의 참가자들이 우리와 함께하게 되어 기쁩니다. 당신의 열정은 정말 감동적입니다!

오늘 웨비나의 존경하는 연사는 저명한 작가이자 거래 전문가인 Dr. Hoyle Yu입니다. Yu 박사는 미국 주식 및 외환 시장에서 광범위한 경험을 가진 인상적인 배경을 가지고 있습니다. 그는 또한 트레이더가 전략을 쉽게 구현할 수 있도록 하는 인기 있는 Python 트레이딩 플랫폼을 개발했습니다. 버지니아 대학교에서 박사 학위를 받고 상하이 대학교 동문인 Dr. Yu는 이 웨비나에 풍부한 지식을 제공합니다. 그가 여기 우리와 함께하게 되어 영광입니다.

시작하기 전에 오늘 웨비나에서 다룰 내용에 대한 간략한 개요를 제공하겠습니다. Yu 박사는 먼저 Interactive Broker를 거래 플랫폼으로 사용하는 이점에 대해 설명합니다. 그런 다음 그는 거래에 Python을 사용할 때의 이점을 탐구하고 Interactive Brokers와의 거래를 단순화하는 자신의 도구인 IBPY를 소개합니다. 웨비나는 실시간 가격 데이터 액세스, 과거 데이터 검색 및 주문을 포함하여 실시간 거래의 주요 측면에 중점을 둘 것입니다. Dr. Yu는 또한 이동 평균 교차 거래 전략을 소개합니다.

이 웨비나에 이렇게 존경받는 연사와 다양한 청중을 모시게 되어 기쁩니다. 더 이상 지체하지 않고 Hoyle Yu 박사를 초청하여 Python 및 IBPY를 사용하여 Interactive Brokers와의 거래에 대한 전문 지식을 공유합니다.

오늘은 Python, 특히 내가 개발한 도구인 IBPY를 활용하여 Interactive Brokers와의 거래에 대해 논의할 것입니다. 자세한 내용을 살펴보기 전에 거래 플랫폼으로서 Interactive Broker의 이점을 살펴보는 것으로 시작하겠습니다.

Interactive Brokers는 미국에 본사를 둔 잘 알려진 중개 회사입니다. 그것은 거래자들 사이에서 인기있는 선택이 되는 몇 가지 주요 이점을 제공합니다. 첫째, Interactive Brokers는 자동 거래를 위한 강력한 API를 제공하며, 이는 오늘 우리의 주요 초점이 될 것입니다. 이 API는 트레이더가 전략을 효율적이고 효과적으로 실행할 수 있도록 지원합니다. 둘째, Interactive Brokers는 경쟁력 있는 거래 비용을 제공하여 거래자에게 비용 효율적인 옵션을 제공합니다. 웹 사이트에서 거래 비용을 쉽게 비교할 수 있습니다. 내 개인적인 경험을 바탕으로 저비용 거래 옵션을 제공합니다. 셋째, Interactive Brokers는 24개국의 100개 이상의 시장 센터에 대한 액세스를 제공하는 광범위한 글로벌 입지를 보유하고 있습니다. 이러한 글로벌 범위를 통해 트레이더는 다양한 국제 시장에 진출하여 다양화 및 거래 기회를 확대할 수 있습니다. 마지막으로 Interactive Brokers는 주식, 옵션, 선물 및 외환을 포함한 광범위한 상품을 지원하여 트레이더의 다양한 요구를 충족합니다. 이러한 이점으로 인해 Interactive Broker는 많은 트레이더가 선호하는 선택입니다.

이제 거래에 Python을 사용하는 이점을 살펴보겠습니다. Python은 특히 초보자에게 많은 이점을 제공합니다. Java 또는 C++와 같은 다른 프로그래밍 언어와 비교할 때 Python은 상대적으로 배우기 쉽습니다. 입문 지식이 있으면 Python의 기본 사항을 빠르게 파악하고 거래 전략을 구현할 수 있습니다. 또한 Python은 방대한 모듈 및 라이브러리 모음에 대한 액세스를 제공하는 오픈 소스 언어입니다. 이러한 리소스는 쉽게 다운로드하여 거래 시스템에 통합할 수 있으며 데이터 분석, 시각화 및 알고리즘 거래를 위한 강력한 도구를 제공합니다. Python의 광범위한 생태계는 트레이더를 위한 유연하고 다재다능한 언어입니다.

이제 Interactive Brokers와 Python의 장점을 이해했으므로 IBPY의 기능을 살펴보겠습니다. IBPY는 Python 개발자를 위한 사용자 친화적인 인터페이스를 제공하여 Interactive Broker와의 거래를 단순화합니다. 실시간 가격 데이터 액세스, 과거 데이터 검색 및 주문과 같은 작업을 간소화합니다. IBPY는 Interactive Brokers API와 Python 간의 격차를 해소하여 트레이더가 복잡한 코드를 다루지 않고도 전략을 보다 쉽게 구현할 수 있도록 합니다.

IBPY의 주요 기능 중 하나는 실시간 가격 데이터에 액세스하는 기능입니다. 거래자는 주식 시세, 옵션 체인 및 선물 가격을 포함한 실시간 시장 데이터를 Python 환경으로 직접 검색할 수 있습니다. 이 실시간 데이터를 통해 트레이더는 최신 시장 정보를 기반으로 정보에 입각한 결정을 내릴 수 있으므로 성공 가능성이 높아집니다.

IBPY는 또한 트레이더가 거래 전략을 백테스팅하고 분석하는 데 필수적인 과거 데이터를 검색할 수 있도록 합니다. 과거 가격 데이터에 액세스함으로써 트레이더는 다양한 시장 상황에서 전략의 성과를 평가하고 데이터 기반 조정을 할 수 있습니다. IBPY는 광범위한 도구, 기간 및 데이터 유형에 대한 과거 데이터를 가져올 수 있는 편리한 인터페이스를 제공하여 철저한 분석 및 전략 개선을 가능하게 합니다.

주문하는 것은 알고리즘 거래의 또 다른 중요한 측면이며 IBPY는 이 프로세스를 단순화합니다. 거래자는 IBPY API를 사용하여 시장가 주문, 지정가 주문 및 중지 주문을 포함한 다양한 유형의 주문을 제출할 수 있습니다. 수량, 가격 및 주문 유형과 같은 매개 변수를 지정할 수 있으며 IBPY는 실행을 원활하게 처리합니다. 이 기능을 통해 거래자는 거래 전략을 자동화하여 시간을 절약하고 수동 오류의 위험을 줄일 수 있습니다.

이러한 기능 외에도 IBPY는 다양한 고급 거래 작업을 지원합니다. 거래자는 계정 정보를 검색하고, 포지션 및 포트폴리오를 관리하고, 계정 활동을 모니터링하고, 실시간 거래 알림을 받을 수 있습니다. 이 포괄적인 기능 세트를 통해 트레이더는 거래 활동을 완전히 제어하고 적시에 결정을 내릴 수 있습니다.

이제 이동 평균 교차 거래 전략에 대해 간략하게 논의하겠습니다. Yu 박사는 웨비나 후반부에서 이에 대해 자세히 다룰 것입니다. 이 전략은 기술 분석에서 널리 사용되는 이동 평균 개념을 기반으로 합니다. 이동 평균 교차 전략에는 일반적으로 단기 이동 평균과 장기 이동 평균이라는 서로 다른 기간의 두 이동 평균을 모니터링하는 것이 포함됩니다. 단기 이동평균선이 장기 이동평균선을 상향 교차하면 잠재적인 상승 추세를 나타내는 매수 신호가 생성됩니다. 반대로 단기 이동평균선이 장기 이동평균선을 하회하면 매도 신호가 발생하여 잠재적인 하락 추세를 나타냅니다. 이 전략은 추세를 포착하고 가격 변동을 활용하는 것을 목표로 합니다.

결론적으로 오늘의 웨비나는 Python 및 IBPY를 사용하는 대화형 브로커와의 거래에 대한 귀중한 통찰력을 제공할 것입니다. 광범위한 지식과 전문 지식을 갖춘 Hoyle Yu 박사는 Interactive Brokers의 이점, 거래에 Python을 사용하는 이점, IBPY의 기능 및 이동 평균 교차 거래 전략을 통해 우리를 안내할 것입니다. 이 웨비나가 유익하고 매력적이기를 바랍니다. 더 이상 고민하지 않고 유 박사에게 건네주어 프레젠테이션을 시작합니다. 오늘 우리와 함께 해주셔서 감사합니다. 웨비나를 즐기십시오!

Trading with Interactive Brokers using Python | By Dr. Hui Liu
Trading with Interactive Brokers using Python | By Dr. Hui Liu
  • 2016.09.29
  • www.youtube.com
Dr. Hui Liu speaks about implementing algorithmic trading strategies in live markets with Interactive Brokers using Python. This webinar is perfect for begin...
 

Python으로 자동화된 거래 | Yves J. Hilpisch 박사의 웨비나



Python으로 자동화된 거래 | Yves J. Hilpisch 박사의 웨비나

Yves J. Hilpisch 박사는 금융 산업, 특히 전산 금융 및 금융 데이터 과학 분야에서 Python 및 오픈 소스 기술에 중점을 둔 회사인 Python Course Group의 창립자이자 관리 파트너로 소개되었습니다. 그는 Python 및 금융에 관한 여러 권의 책을 저술했으며 데이터 과학자가 브라우저에서 직접 구조화된 데이터로 작업할 수 있도록 하는 DataPark라는 플랫폼을 개발했습니다. Hilpisch 박사는 올해 말에 새 책을 발표할 예정이며 Python 퀀트 및 회사의 글로벌 네트워크인 TPQ도 소개할 것이라고 언급했습니다.

웨비나는 Hilpisch 박사가 특히 금융 관련 프로젝트를 위해 Python 개발자를 유치하려는 신생 기업으로부터 Python을 금융에 사용하는 것에 대해 점점 더 많은 문의를 받고 있음을 인정하는 것으로 시작됩니다. 그는 사용자가 Comm Trading Platform에서 과거 데이터를 다운로드할 수 있는 새로운 기능을 발표하고 웨비나에서 다룰 세 가지 주요 주제인 과거 데이터 다운로드, 거래 전략 코딩 및 백테스팅, 알고리즘 거래를 위한 스트리밍 데이터 작업에 대해 설명합니다. . 그는 합리적인 거래 전략을 개발하는 데 있어 데이터와 백테스팅의 중요성을 강조합니다.

Hilpisch 박사는 독일 DAX 인덱스를 예로 들어 Python을 사용하여 기록 데이터를 검색하는 방법을 시연합니다. 그는 사용자가 통화 쌍과 금이나 은과 같은 상품을 포함하여 100개 이상의 다양한 상품 중에서 선택할 수 있다고 설명합니다. 청크에서 데이터를 검색하고 DataFrame 객체에 추가함으로써 사용자는 반복 다운로드 없이 효율적인 검색을 위해 데이터를 디스크에 저장할 수 있습니다. 그는 백테스팅에서 데이터의 역할과 거래 전략 평가에서 데이터의 중요성을 강조합니다.

다음으로 Hilpisch 박사는 짧은 이동 평균(5분)과 긴 이동 평균(15분)의 두 가지 이동 평균을 기반으로 하는 간단한 거래 전략의 예를 보여줍니다. 그는 짧은 추세가 긴 추세 위로 교차하면 매수 신호를 생성하고 짧은 추세가 긴 추세 아래로 교차하면 매도 신호를 생성한다고 설명합니다. 그는 이것이 투자 조언이 아니라 코드를 효율적이고 간결하게 만드는 벡터화된 접근 방식을 사용하여 Python에서 전략을 구현하는 방법을 보여줍니다.

Hilpisch 박사는 이전에 계산된 로그 수익을 사용하여 거래 전략의 성과를 계산합니다. 그는 트레이더가 자신의 포지션에 실현 수익을 곱하여 전략의 성과를 결정할 수 있는 방법을 설명합니다. 그는 계산을 설명하기 위해 시장에 오래 투자하고 하루를 기다리는 예를 사용합니다. 그는 샘플 내 편향을 피하기 위해 거래 전략을 테스트하는 것의 중요성을 강조하고 한 기간의 긍정적인 성과가 다른 기간의 성공을 보장하지 않는다는 점을 주의합니다.

그런 다음 토론은 시장 투자 전략과 분 블록을 기반으로 한 추세 기반 투자 신호 전략 간의 수익 표준 편차를 비교하는 것으로 이동합니다. Hilpisch 박사는 추세 기반 전략이 수익률의 표준 편차가 더 낮다는 것을 보여줍니다. 그는 자동화된 거래 전략을 구현할 때 스트리밍 데이터 작업의 필요성을 강조하고 실시간 플롯을 생성하기 위한 Plotly API를 소개합니다.

Hilpisch 박사는 실시간 형식으로 데이터를 생성하는 가짜 API의 사용을 시연합니다. 현재 데모는 실제로 스트리밍되지는 않지만 추가 개체를 인스턴스화하고 이를 Jupyter 노트북에 포함하여 약간의 추가 노력으로 스트리밍할 수 있다고 언급했습니다. 그는 API에서 데이터를 수집하고 이를 실시간으로 대화형 시각화 영역에 표시하는 for 루프의 예를 제공합니다.

그런 다음 실시간 또는 스트리밍 데이터를 사용한 자동 거래에 대해 설명합니다. Hilpisch 박사는 시장 주문을 하고 거래할 단위 수를 요구하는 "매수" 및 "매도" 기능을 소개합니다. 그는 추세 추종 전략을 기반으로 하며 Wonder API의 스트리머 클래스에서 상속된 "TrendTrader" 클래스를 제시합니다. 그는 빈 데이터 프레임 및 처음에 0으로 설정된 틱 수와 같은 클래스의 사용자 지정 속성에 대해 설명합니다. 이 클래스를 사용하면 첫 번째 및 두 번째 추세를 매개변수로 정의할 수 있습니다.

Hilpisch 박사는 산발적으로 도착하더라도 스트리밍 API에서 새 데이터를 수신할 때 "onsuccess" 메서드가 호출된다고 설명합니다. 데이터는 이전에 인스턴스화된 데이터 프레임에 추가되고 유럽 시간대로 변환됩니다. 관찰을 기반으로 단기 및 장기 추세를 계산하고 그에 따라 적절한 거래 조치를 취합니다. 그는 제시된 전략이 현명하지 않을 수 있지만 그의 초점은 프로세스를 설명하는 데 있다고 설명합니다. 그는 또한 스트리밍 프로세스 중에 발생할 수 있는 모든 오류를 처리하고 API와의 연결을 끊는 "onerror" 메서드에 대해 설명합니다.

결론적으로 Dr. Hilpisch는 Python을 사용하여 자동 거래 전략을 구현하는 방법을 보여줍니다. 그는 Python 프로그램이 이동 평균 비교를 기반으로 자동으로 매수 및 매도 주문을 생성하는 방법을 보여줍니다. 그는 성공적인 알고리즘 거래를 위해서는 금융 및 기술 기술의 조합, 시장에 대한 깊은 이해, 빅 데이터 통계에 대한 숙련도, 거래 프로세스를 자동화하는 능력이 필요하다고 강조합니다. 웨비나는 알고리즘 거래 경력에 필요한 지식과 기술을 습득하는 데 관심이 있는 개인을 위한 교육 리소스 역할을 합니다.

  • 00:00:00 Yves J. Hilpisch 박사가 자신을 소개하고 그의 작업에 대한 배경 정보를 제공합니다. 그는 금융 산업, 특히 전산 금융 및 금융 데이터 과학 분야에서 사용되는 Python 및 기타 오픈 소스 기술에 중점을 둔 Python Course Group의 창립자이자 관리 파트너입니다. Hilpisch 박사는 Python 및 금융에 관한 여러 권의 책을 저술했으며 데이터 과학자가 브라우저에서 구조화된 데이터로 작업할 수 있는 DataPark라는 플랫폼을 개발했습니다. 그는 자신의 새 책이 올해 후반에 발표될 것이라고 간략히 언급했으며, TPQ라는 파이썬 퀀트 및 회사의 글로벌 네트워크의 시작에 대해서도 언급했습니다.

  • 00:05:00 Yves J. Hilpisch 박사는 금융 분야에서 Python을 가장 잘 사용하는 방법을 묻는 질문이 어떻게 증가했는지에 대한 토론으로 웨비나를 시작하고 많은 신생 기업이 관심을 끌고자 하는 특정 청중임을 강조합니다. 금융을 위해 파이썬을 구축하는 사람들. 그런 다음 Hilpisch는 Comm Trading Platform에서 과거 데이터를 다운로드할 수 있는 새로운 기능을 소개하고 웨비나에서 다룰 세 가지 주요 주제(예: 1) 과거 데이터 다운로드 방법, 2) 거래 전략 코딩 및 백 테스트 방법, 3) 스트리밍 데이터로 작업하는 방법 - 알고리즘 거래의 중요한 요구 사항. Hilpisch는 주제를 단순하게 유지하고 이러한 단일 단계를 구현하는 데 필요한 단계에 대한 기본 아이디어와 설명을 전달하려고 시도하며 데이터 없이는 어떻게 백테스팅을 하면 현명한 거래 전략을 가질 수 없는지 공유합니다.

  • 00:10:00 Yves Hilpisch 박사가 기기, 특히 독일 DAX 지수에 대한 기록 데이터를 검색하는 방법을 시연하여 데이터 검색에 대해 설명합니다. 사용자는 통화 쌍 및 금이나 은과 같은 상품을 포함하여 100개 이상의 다양한 옵션에서 상품을 선택할 수 있습니다. 이 명령은 open, close 및 bid라는 두 가지 관찰을 포함하는 JSON 객체를 생성합니다. Hilpisch는 두 번의 일일 관찰로는 백테스팅에 충분하지 않기 때문에 더 오랜 기간 동안 데이터를 검색하는 방법을 보여줄 것이라고 말합니다. 일일 관찰 2회보다 긴 데이터 세트를 생성하고 디스크에 저장함으로써 사용자는 이 정보를 다시 검색하는 데 시간을 소비하지 않고도 신속하게 정보를 검색할 수 있습니다.

  • 00:15:00 Yves J. Hilpisch 박사가 Python을 사용하여 금융 시장 데이터를 검색하고 저장하는 방법을 시연합니다. 데이터는 청크로 검색되어 DataFrame 개체에 추가된 다음 이진 형식으로 저장됩니다. 그는 백테스팅에서 데이터의 중요성과 그것이 거래 전략의 판단을 가능하게 하는 방법을 강조합니다. 또한 그는 두 가지 다른 추세에 기반한 간단한 거래 전략의 예와 나중에 성과 판단을 위한 기준으로 로그 수익을 계산하는 방법을 보여줍니다. 거래 전략은 하나의 예일 뿐이며 그의 프레젠테이션은 자동 거래에 사용할 수 있는 Python 도구와 기술을 시연하는 것을 목표로 합니다.

  • 00:20:00 연사는 자산을 사거나 팔 때 신호를 생성하기 위해 짧은 이동 평균(5분)과 더 긴 이동 평균(15분)을 사용하는 간단한 거래 전략을 설명합니다. 짧은 추세가 아래에서 긴 추세를 교차하면 매수 신호이고, 짧은 추세가 위에서 긴 추세를 교차하면 매도 신호입니다. 연사는 이것이 투자 조언이 아니라고 경고하고 전략이 과거에 어떻게 수행되었는지 확인하기 위해 백 테스트 사용을 강조합니다. 연사는 또한 벡터화된 접근 방식을 사용하여 Python에서 전략을 구현하여 효율적이고 간결하게 만드는 방법을 보여줍니다.

  • 00:25:00 Yves J. Hilpisch 박사가 이전에 계산된 수익을 사용하여 거래 전략의 성과를 계산하는 방법에 대해 설명합니다. 이전에 입력한 포지션에 실현 수익을 곱함으로써 트레이더는 거래 전략의 성과를 결정할 수 있습니다. 시장에 오래 투자하고 하루를 기다리는 예를 사용하여 트레이더는 자신의 포지션에 시장의 일일 수익률을 곱할 수 있습니다. 이전 포지션과 현재 수익을 결합함으로써 트레이더는 특정 기간 동안 거래 전략의 성과를 평가할 수 있으며 긍정적인 성과가 모든 기간에 대해 보장되는 것은 아니라는 점을 경고합니다. 그는 또한 샘플 내 편향을 피하기 위해 거래 전략을 테스트하는 것과 거래 전략이 구현하기에 좋은 선택이 아닐 수 있는 가능성에 대해 주의를 줍니다.

  • 00:30:00 Yves J. Hilpisch 박사가 시장 투자 전략 대 추세 기반 투자 신호 전략에 대한 수익의 표준 편차에 대해 논의합니다. 둘 다 분 블록을 기반으로 합니다. 추세 기반 전략은 수익률의 표준 편차가 더 낮았고 Dr. Hilpisch는 자동 거래 전략을 구현할 때 스트리밍 데이터 작업의 중요성을 강조합니다. 그는 실시간 플롯을 생성하기 위한 Plotly API의 사용을 시연하고 실시간 데이터를 기반으로 거래 결정을 처리하고 내릴 수 있는 시스템의 필요성에 대해 논의합니다.

  • 00:35:00 Yves J. Hilpisch 박사가 실시간으로 실제 API와 동일한 형식으로 데이터를 생성하는 가짜 API의 사용을 시연합니다. 데이터는 대화형 시각화 영역을 사용하여 시각화할 수 있는 데이터 프레임 개체에 수집 및 표시됩니다. 현재 데모가 실제로 스트리밍되지는 않지만 Dr. Hilpisch는 추가 개체를 인스턴스화하고 Jupiter Notebook에 포함하여 조금 더 노력하면 스트리밍할 수 있다고 말합니다. 그는 API에서 데이터를 수집하고 실시간으로 대화형 시각화 영역에 표시하는 for 루프의 예를 제공합니다.

  • 00:40:00 Yves Hilpisch 박사가 실시간 또는 스트리밍 데이터를 사용한 자동 거래에 대해 설명합니다. 그는 시장 주문을 하고 거래되는 단위의 수를 요구하는 데 사용되는 "매수" 및 "매도"의 두 가지 기능을 소개합니다. 거래에 사용되는 클래스는 추세 추종 전략을 기반으로 하는 "TrendTrader"입니다. 이 클래스는 Wonder API의 스트리머 클래스에서 상속되며 빈 데이터 프레임 객체 및 처음에 0으로 설정된 틱 수와 같은 사용자 정의 속성을 포함합니다. 첫 번째 및 두 번째 추세는 매개변수로 정의할 수도 있습니다.

  • 00:45:00 Yves J. Hilpisch 박사가 스트리밍 API에서 새 데이터를 수신할 때 onsuccess 메서드가 어떻게 호출되는지 설명합니다. 이 데이터는 정기적인 간격이 아닌 산발적으로 들어올 수 있습니다. 그런 다음 데이터는 이전에 인스턴스화된 데이터 프레임에 추가되고 유럽 시간대로 변환됩니다. 단기 및 장기 관찰을 기반으로 t1 및 t2의 두 추세가 계산됩니다. 단기 추세가 장기 추세보다 높고 거래자가 투자하지 않은 경우 지정된 수의 단위를 구매하고 투자되지 않은 플래그를 거짓으로 설정합니다. 반대로 단기 추세가 장기 추세보다 낮거나 같고 거래자가 투자하면 매도합니다. Hilpisch 박사는 이 전략이 현명하지 않을 수 있지만 그의 초점은 프로세스가 작동하는 방식을 설명하는 데 있다고 언급합니다. 발생할 수 있는 모든 오류를 포착하고 API 스트리밍에서 연결을 끊는 on error 메서드에 대해서도 설명합니다.

  • 00:50:00 Yves Hilpisch가 Python을 사용하여 자동 거래 전략을 구현하는 방법을 보여줍니다. 그는 Python 프로그램이 5틱과 15틱 데이터의 평균 비교를 기반으로 매수 및 매도 주문을 자동으로 생성하는 방법을 보여줍니다. 그는 알고리즘 트레이딩이 금융과 기술, 시장 이해, 빅데이터 통계, 자동화의 융합 기술을 필요로 한다고 강조한다. 이 비디오는 성공적인 알고리즘 트레이딩 경력에 필요한 다양한 운영 및 기술에 관심이 있는 사람들을 위한 교육 리소스를 제공합니다.
Automated Trading with Python | Webinar by Dr. Yves J. Hilpisch
Automated Trading with Python | Webinar by Dr. Yves J. Hilpisch
  • 2016.02.15
  • www.youtube.com
The video is a recording of the webinar "Automated Trading with Python" which was conducted on 10th February 2016. The webinar aimed at introducing the audie...
 

Python을 사용한 알고리즘 거래 - 소개



Python을 사용한 알고리즘 거래 - 소개

안녕하세요. 트레이딩에 관한 새로운 비디오 시리즈의 첫 번째 비디오에 다시 오신 것을 환영합니다. 이 비디오에서는 금세기 비디오 스트림의 목적과 내용을 살펴보겠습니다. 이 비디오 시리즈의 주요 목표는 알고리즘 거래에 대한 포괄적인 이해를 제공하는 것입니다. 거래 알고리즘의 기초부터 고급 구현, 테스트 및 최적화에 이르기까지 모든 것을 다룰 것입니다.

이 시리즈는 알고리즘 거래의 맥락에서 Python 프로그래밍을 배우고 활용하는 데 도움이 되도록 설계되었습니다. 실시간 거래 환경에서 거래 신호 생성, 전략 구현, 백테스팅 및 알고리즘 배포와 같은 다양한 주제를 탐구합니다. 이를 용이하게 하기 위해 Contact Platform이라는 강력한 알고리즘 거래 플랫폼을 소개합니다.

Contact Platform은 거래 알고리즘을 생성, 테스트 및 배포할 수 있는 통합 개발 환경입니다. 사용자 친화적인 인터페이스를 제공하며 이 시리즈에서 광범위하게 사용할 Python을 포함한 다양한 프로그래밍 언어를 지원합니다. 연락처 웹 사이트를 통해 온라인으로 플랫폼에 액세스하거나 Windows 또는 Mac용 소프트웨어를 다운로드할 수 있습니다.

비디오 시리즈와 함께 추가 리소스 및 코드 예제를 찾을 수 있는 전용 YouTube 페이지를 만들었습니다. 이러한 예제는 클러스터링 기술, 주식, 채권, 외환, CFD, 옵션 등에 대한 스크립트 생성을 포함한 다양한 주제를 다룹니다. 초보자이든 숙련된 거래자이든 이 시리즈는 알고리즘 거래에 뛰어들 수 있는 완벽한 출발점입니다.

실제 거래 시나리오에 배포하기 전에 거래 알고리즘을 개발하고 테스트하는 것의 중요성을 이해하는 것이 중요합니다. 이것은 알고리즘 거래에서 가장 시간이 많이 걸리는 측면 중 하나입니다. 그러나 유럽 스톡 옵션 및 기타 주요 국제 시장에 대한 고해상도 분 단위 데이터와 함께 무료 역사적 시장 데이터에 대한 액세스를 제공함으로써 보다 쉽게 만들었습니다. 이것은 알고리즘 개발자와 연구자들에게 귀중한 자원이 될 것입니다.

시리즈 전반에 걸쳐 기계 학습, 감정 분석 및 백테스팅을 위한 강력한 라이브러리와 도구를 활용할 것입니다. Pandas 및 NumPy와 같은 이러한 라이브러리는 거래 커뮤니티에서 널리 사용되며 분석에 필수적입니다. 이러한 라이브러리와 연락처 플랫폼을 활용하면 다양한 거래 전략을 만들고 테스트할 수 있는 유연성을 갖게 됩니다.

다음 비디오에서는 거래 알고리즘 코딩에 대한 단계별 접근 방식을 취할 것입니다. 다양한 전략을 논의하고 구현하는 과정에서 나와 함께 할 것입니다. 또한 코드 조각 및 비디오와 같은 보충 자료를 내 YouTube 채널 및 관련 기사에서 공유할 것입니다.

다음 비디오에서는 개발 프로세스에 대해 자세히 알아보고 거래 알고리즘이 작동하는 방식을 살펴보겠습니다. 알고리즘 트레이딩의 세계로 떠나는 흥미진진한 여행에 계속 관심을 갖고 저희와 함께하세요.

Algorithmic Trading Using Python - Introduction
Algorithmic Trading Using Python - Introduction
  • 2021.03.12
  • www.youtube.com
This is the first video of my algorithmic trading tutorial series in which you will learn everything you need to know to start writing your own trading bots ...
 

Python을 사용한 알고리즘 거래 #2



Python을 사용한 알고리즘 거래 #2

알고리즘 거래 과정의 두 번째 비디오에 오신 것을 환영합니다. 이번 영상에서는 알고리즘 개발 과정을 개념적 차원을 중심으로 파헤쳐 보겠습니다. 연구, 구현, 백테스팅 및 최적화와 같은 필수 측면을 다루면서 아이디어 생성에서 실시간 배포에 이르기까지 각 단계를 안내합니다.

알고리즘 개발 프로세스는 아이디어 생성에서 시작됩니다. 우리는 시장 관찰, 기본 분석, 기술 지표 및 양적 모델을 포함한 다양한 아이디어 소스를 탐색할 것입니다. 거래 아이디어를 생성하고 개선하는 방법을 이해하는 것은 성공적인 알고리즘을 개발하는 데 중요합니다.

유망한 아이디어가 있으면 연구 단계로 넘어갑니다. 여기에는 관련 데이터 수집, 통계 분석 수행, 철저한 백테스팅 수행이 포함됩니다. 데이터 품질의 중요성과 그것이 우리 알고리즘의 신뢰성에 미치는 영향에 대해 논의할 것입니다. 또한 전략의 효과를 평가하기 위해 다양한 성과 지표와 위험 측정을 탐색할 것입니다.

철저한 조사를 거친 후 구현 단계로 진행합니다. 여기에서 거래 아이디어를 코드로 변환합니다. Python과 같은 프로그래밍 언어를 사용하여 데이터를 분석하고 거래 신호를 생성하며 거래를 자동으로 실행할 수 있는 알고리즘을 작성할 것입니다. 코딩 모범 사례와 유지 관리 및 확장성을 위해 코드를 구성하는 방법에 대해 배웁니다.

알고리즘이 구현되면 백테스팅 단계로 넘어갑니다. 백테스팅에는 과거 데이터를 사용하여 알고리즘의 성능을 시뮬레이션하는 작업이 포함됩니다. 알고리즘의 성능을 검증하고 견고성을 평가하기 위해 샘플 내 및 샘플 외 테스트를 포함한 다양한 백 테스트 방법론에 대해 논의할 것입니다.

최적화는 알고리즘 개발의 또 다른 중요한 단계입니다. 우리는 알고리즘을 미세 조정하고 성능을 최적화하기 위한 다양한 기술을 탐구할 것입니다. 여기에는 매개변수 최적화, 민감도 분석 및 위험 관리 전략이 포함됩니다. 알고리즘을 최적화하여 수익성을 개선하고 위험을 줄이는 것을 목표로 합니다.

마지막으로 알고리즘의 라이브 배포를 다룰 것입니다. 라이브 거래 환경에서 시장 데이터 연결, 주문 실행 및 위험 관리와 같은 고려 사항에 대해 논의합니다. 성공적인 알고리즘 거래를 위해서는 실제 배치의 문제와 고려 사항을 이해하는 것이 필수적입니다.

이 비디오 전체에서 알고리즘 개발 프로세스를 안내하는 통찰력과 실용적인 팁을 제공합니다. 결국 거래 알고리즘을 효과적으로 개념화, 연구, 구현, 백 테스트, 최적화 및 배포하는 방법에 대한 포괄적인 이해를 갖게 될 것입니다.

이제 알고리즘 거래의 매혹적인 세계로 뛰어들어 알고리즘 개발 프로세스를 자세히 살펴보겠습니다.

Algorithmic Trading Using Python #2
Algorithmic Trading Using Python #2
  • 2021.03.19
  • www.youtube.com
In this 2nd video of this algorithmic trading course, you will learn all about the algorithm development process on a conceptual level. We will cover everyth...
 

수익성있는 통화 거래를 위해 지원 저항 수준 및 RSI를 사용하는 방법




수익성있는 통화 거래를 위해 지원 저항 수준 및 RSI를 사용하는 방법

RSI 거래 전략을 수립함에 있어 기존의 과매수 및 과매도 영역 식별 방법은 비효율적인 것으로 나타났습니다. 대신 지원 및 저항 수준을 RSI와 결합하여 진입점을 개선하는 보다 효과적인 접근 방식이 제안됩니다. 이 대체 방법은 고전적인 거래 자습서에서 일반적으로 가르치는 것과 모순됩니다. 그러나 Python을 사용하여 테스트했을 때 결과는 더 유망했습니다.

이 전략을 구현하기 위한 첫 번째 단계는 프랙탈 또는 인접한 캔들에 비해 극단적으로 높거나 낮은 값을 나타내는 캔들을 사용하여 지지 및 저항 수준을 식별하는 것입니다. 비교할 양초의 수는 코드의 변수이므로 비교 범위에서 유연성을 허용합니다. 또한 특정 임계값을 초과하는 심지 길이로 표시되는 상당한 거부 움직임이 있는 양초를 고려하기 위해 조건을 적용할 수 있습니다.

지원 및 저항 수준이 감지되면 서로 매우 근접한 경우 병합해야 할 수 있습니다. 이는 레벨 간의 차이 또는 거리를 계산하여 수행할 수 있습니다. 거리가 지정된 임계값 미만인 경우 레벨을 평균값으로 바꾸거나 중복 레벨을 제거하여 레벨을 병합할 수 있습니다.

핵심 수준을 얻은 후 세 가지 가정을 기반으로 반전 신호를 계산할 수 있습니다. 첫째, 양초에는 지지선 또는 저항선에 가까운 심지가 있어야 하며 몸체는 수준에 포함되어야 합니다. 지지라면 몸은 그 위에 있어야 하고, 저항이라면 몸은 아래에 있어야 합니다. 이전 캔들도 동일한 지지 또는 저항 수준에 포함되어야 합니다. 이렇게 하면 현재 캔들의 동작이 주변 캔들이 나타내는 추세와 일치합니다.

과거 데이터를 테스트할 때 생성된 신호를 차트에 그릴 수 있습니다. 강세 반전 신호는 캔들 아래의 보라색 신호 포인트로 표시되고 약세 반전 신호는 캔들 위의 보라색 신호 포인트로 표시됩니다. 그러나 일부 신호는 다른 신호보다 더 효과적일 수 있으므로 차트의 모든 신호를 거래할 수 있는 것은 아닙니다. 신호를 필터링하기 위해 RSI가 사용됩니다. RSI가 상승 추세 모멘텀을 나타내는 임계값보다 높으면 강세 신호만 고려됩니다. 반대로 RSI가 하한선보다 낮아 하락 추세 모멘텀을 나타내는 경우 약세 신호만 고려됩니다. 이렇게 하면 신호가 추세에 맞춰지고 추세에 반대되는 신호가 걸러집니다.

Python에서 지표를 자동화하고 전략을 평가하기 위해 Jupyter Notebook 파일을 사용할 수 있습니다. 2003년에서 2023년 사이의 1시간 동안의 유로/미국 달러 캔들스틱 데이터는 pandas 라이브러리를 사용하여 로드됩니다. 볼륨이 없는 양초와 주말을 제거하기 위해 데이터를 필터링하고 Pandas 기술 분석 라이브러리를 사용하여 RSI를 계산합니다. 현재 캔들과 주변 캔들을 비교하는 기능을 이용하여 지지선과 저항선을 파악하고 부가 기능을 이용하여 근접도를 확인합니다. 이러한 기능은 이전 양초뿐만 아니라 수준과 관련하여 양초의 몸체와 심지를 고려합니다.

필요한 모든 함수가 정의되면 신호를 계산하기 위해 "check_candle_signal"이라는 함수가 생성됩니다. 이 함수는 현재 캔들의 인덱스, 좌우의 캔들 수, 확인할 백 캔들 수, 데이터 프레임을 입력으로 받습니다. 이전에 정의된 함수를 사용하여 지원 및 저항 수준을 계산하고 필요한 경우 병합하고 정의된 조건 및 RSI 임계값을 기반으로 신호를 생성합니다.

그런 다음 신호를 세고 인쇄하여 전략의 성과를 평가합니다. 차트에서 신호를 시각화하기 위해 해당 캔들이 선택되고 표시되며 신호는 보라색 점으로 표시됩니다. 플롯을 통해 신호를 시각적으로 평가하고 식별된 지원 및 저항 수준과 정렬할 수 있습니다.

양초 데이터를 로드하고 볼륨이 없는 양초 및 주말 제거와 같은 필요한 데이터 정리 단계를 수행한 후 다음 단계는 상대 강도 지수(RSI)를 계산하는 것입니다.

RSI는 시장에서 과매수 및 과매도 조건을 식별하는 데 사용되는 인기 있는 모멘텀 오실레이터입니다. 자산이 과매수 또는 과매도되었는지 여부를 결정하기 위해 최근 가격 변동의 크기를 측정합니다. RSI 값의 범위는 0에서 100까지이며, 70 이상의 값은 일반적으로 과매수로 간주되고 30 미만의 값은 과매도로 간주됩니다.

RSI를 계산하려면 지표를 계산할 때 고려할 이전 캔들의 수를 나타내는 창 크기를 정의해야 합니다. 가장 일반적인 창 크기는 14이지만 요구 사항 및 분석 중인 자산의 특성에 따라 조정할 수 있습니다.

RSI 계산에는 다음 단계가 포함됩니다.

  1. 각 양초의 가격 변동을 계산합니다. 이것은 현재 캔들의 종가와 이전 캔들의 차이입니다.

  2. 가격 변동을 이익과 손실의 두 가지 개별 시리즈로 나눕니다. 이익은 긍정적인 가격 변화를 나타내고 손실은 부정적인 가격 변화를 나타냅니다. 가격 변동이 양수이면 이익으로 간주됩니다. 음수이면 손실로 간주됩니다.

  3. 음수 값을 0으로 바꾸고 양수 값을 절대값으로 바꾸어 이득 및 손실 계열을 부드럽게 합니다.

  4. 정의된 창 크기에 대한 평균 이득과 평균 손실을 계산합니다. 이것은 일반적으로 단순 이동 평균(SMA) 방법을 사용하여 수행됩니다.

  5. 평균 이득을 평균 손실로 나누어 상대 강도(RS)를 계산합니다.

  6. 다음 공식을 적용하여 RSI를 계산합니다. RSI = 100 - (100 / (1 + RS))

시간 경과에 따른 RSI 값을 플로팅하면 자산의 과매수 및 과매도 상태를 시각적으로 분석할 수 있습니다. 거래자들은 종종 RSI를 잠재적인 추세 반전 신호 또는 진입점과 퇴장점에 대한 확인 신호로 사용합니다.

RSI는 재무 분석에 사용되는 많은 기술 지표 중 하나일 뿐이라는 점에 유의해야 합니다. 그것의 효과는 시장 상황, 분석되는 자산, 고려되는 기간과 같은 다양한 요인에 따라 달라집니다.

How to Use Support Resistance Levels and RSI for Profitable Currency Trading
How to Use Support Resistance Levels and RSI for Profitable Currency Trading
  • 2023.05.11
  • www.youtube.com
In this Python FOREX and currency trading tutorial, we will show you how to use the Relative Strength Index (RSI) and Support/Resistance Levels for profitabl...
 

이동 평균 및 VWAP 추세 전략 Python에서 백 테스트


이동 평균 및 VWAP 추세 전략 Python에서 백 테스트

안녕하세요, 오늘은 트레이딩과 알고리즘 트레이딩을 위한 V-WAP(Volume-Weighted Average Price)와 이동 평균 지표를 비교해 보도록 하겠습니다. 두 지표를 모두 사용하여 거래 봇을 구축하고 비트코인 데이터를 사용하여 백테스트할 것입니다.

이 비디오에서 사용할 전략의 수익 수익은 3년 간의 데이터에서 약 200%에서 뛰어난 473%까지 다양할 수 있습니다. 코딩 부분이 궁금하신 분들은 파이썬 언어로 백테스트를 해보았고, 설명에 제공된 링크에서 쥬피터 노트북 파일을 다운받으실 수 있습니다.

거래에서 내가 가장 좋아하는 지표인 것 외에도 V-WAP는 증권이 공정한 가치로 거래되고 있는지 여부를 거래자가 결정하는 데 도움이 되기 때문에 중요합니다. 가격이 V-WAP 곡선 위에서 거래되거나 V-WAP 곡선보다 훨씬 높게 거래되는 경우 과대평가되었음을 나타낼 수 있기 때문에 이 정보는 매우 중요합니다. 반대로 현재 가격이 V-WAP 곡선 아래에서 거래되고 있다면 증권이 저평가되었음을 나타낼 수 있습니다. 간단히 말해서 우리는 항상 가격이 어느 시점에서 V-WAP 수준으로 다시 수렴될 것으로 예상합니다. 이는 가격이 V-WAP 수준으로 다시 수렴하고 노란색 곡선에서 다시 반등하기 전에 가격 양초와 노란색 V-WAP 곡선 사이의 차이가 증가한 예에서 관찰할 수 있습니다. 이동 평균 곡선과 V-WAP 노란색 곡선 사이에는 분명한 차이가 있습니다.

V-WAP를 계산하기 위해 다음 식을 사용할 수 있습니다. V-WAP = 누적 평균 가격 * 거래량 / 누적 거래량. 평균 가격은 고가, 저가 및 종가 사이의 평균 가격입니다. 누적 부분은 거래 세션이 시작된 이후의 총 합계를 의미합니다. 거래 세션은 우리가 목표로 하는 기간에 따라 매일, 매주 또는 매월 재설정될 수 있습니다. V-WAP 계산은 거래량에 대한 더 많은 정보를 통합한다는 점에서 단순 이동 평균과 다릅니다.

또한 V-WAP를 사용하여 가격과 함께 움직이는 동적 지원 및 저항 수준 역할을 하므로 거래에 대한 최적의 시작 및 종료 지점을 결정할 수 있습니다. 이것이 이 비디오에 표시된 전략에서 V-WAP를 사용할 것입니다.

우리가 사용할 전략은 다음과 같습니다. 먼저 비교에 사용하는 지표에 따라 V-WAP 또는 이동 평균 곡선 아래 또는 위에 있는 일련의 양초를 살펴봅니다. 양초가 곡선 아래에 있으면 짧은 신호를 찾고 있으며 양초가 곡선에 충분히 가까워지면 진입점이 결정됩니다. 양초가 곡선 위에 있으면 우리는 긴 신호를 찾고 있으며 양초가 곡선에 충분히 가까워지면 진입점이 결정됩니다. 비교를 위해 이동 평균 곡선과 V-WAP 곡선을 모두 사용하여 동일한 전략을 적용할 것입니다.

Jupiter Notebook 파일에서 2019년과 2022년 사이의 15분 기간으로 비트코인 미국 달러 촛대 데이터를 로드합니다. 데이터 형식을 정리하고 pandas 기술 분석 모듈을 사용하여 V-WAP 및 EMA(지수 이동 평균)를 계산합니다. ). 그런 다음 특정 수의 백 캔들을 사용하여 EMA와 V-WAP 모두에 대한 신호를 계산합니다. 신호 값은 데이터 프레임의 새 열에 저장됩니다. 더 나은 이해를 위해 신호 지점을 시각화합니다.

백 테스트를 위해 다양한 거래 관리 접근 방식을 사용할 수 있습니다. 이 경우 ATR(Average True Range)을 사용하여 손절매 및 이익실현 수준을 설정합니다. 이익실현 수준은 손절매 거리를 기준으로 설정되며 이익실현 대 손절매 비율은 2.5입니다. 손절매는 ATR의 0.8배로 계산됩니다.

백 테스트에서는 데이터 프레임의 각 캔들을 반복하고 V-WAP 및 이동 평균 지표에서 생성된 신호를 기반으로 시작 및 종료 조건을 확인합니다. 거래가 시작되면 ATR을 기준으로 손절매 및 이익실현 수준을 계산합니다. 가격이 손절매 또는 이익 실현 수준에 도달하면 거래를 종료하고 손익을 기록합니다.

백 테스트가 완료되면 누적 손익을 계산하고 총 수익률, 연간 수익률, 최대 손실률 및 샤프 비율과 같은 성과 지표를 생성합니다.

백 테스트 결과는 V-WAP 및 이동 평균 지표를 모두 사용한 거래 전략의 성과를 보여줍니다. 결과를 비교하여 수익성 및 위험 관리 측면에서 어떤 지표가 더 나은지 평가할 수 있습니다.

백 테스트 결과는 사용된 특정 매개 변수, 선택한 기간 및 시장 조건과 같은 다양한 요인에 따라 달라집니다. 전략을 철저히 분석하고 실제 거래에 적용하기 전에 강력한 테스트를 수행하는 것이 중요합니다.

Moving Average And VWAP Trend Strategies Backtest In Python
Moving Average And VWAP Trend Strategies Backtest In Python
  • 2023.04.20
  • www.youtube.com
In this video, we compare VWAP and Moving Average indicators for trading and Algorithmic trading. We use both indicators to build a trading bot, backtesting ...
 

Python을 사용하여 자동화된 Doji 및 Engulfing 패턴을 사용한 마스터 프라이스 액션 트레이딩


Python을 사용하여 자동화된 Doji 및 Engulfing 패턴을 사용한 마스터 프라이스 액션 트레이딩

오늘은 Doji와 Engulfing candle의 두 가지 캔들 패턴을 비교해 보겠습니다. Bollinger Bands와 결합된 간단한 전략을 사용하고 지난 해의 과거 데이터를 사용하여 1시간 동안 이러한 패턴을 백테스트할 것입니다. 우리의 목표는 가격 행동 패턴을 다른 지표와 결합하는 것이 순수 기술 거래를 위한 강력한 도구가 될 수 있음을 보여주는 것입니다.

이 전략을 구현하기 위해 비디오 설명의 링크에서 다운로드할 수 있는 Python 코드를 제공합니다. 내용이 도움이 되셨다면 좋아요와 팔로우로 저희 채널을 응원해주세요. 또한 탐색하고 싶은 아이디어가 있으면 의견 섹션에서 논의할 수 있습니다.

이 시연의 목적을 위해 우리는 두 가지 패턴 세트에 초점을 맞출 것입니다. Doji 양초 앞에 약세 양초가 있고 그 뒤에 상승 추세 또는 강세 양초가 있어 미래의 상승 추세를 나타냅니다. 두 번째 패턴은 캔들의 시가와 종가가 각각 이전 캔들보다 높거나 낮은 인걸핑 패턴입니다. 기본적으로 현재 양초가 이전 양초를 삼켜 미래 가격에 대한 예측 추세를 결정합니다. 이 두 패턴에 대한 강세 설정의 예를 구체적으로 살펴보겠습니다. Doji 다음에 약세 양초가 오는 약세 설정을 고려하거나 Engulfing 패턴의 경우 삼키는 양초가 약세 방향을 가집니다. 이러한 설정은 향후 하락 추세를 나타냅니다.

이제 전략에서 이러한 패턴을 사용하는 방법을 살펴보겠습니다. 먼저 볼린저 밴드 라인 위 또는 아래에서 가격 캔들이 마감될 때까지 기다립니다. 볼린저 밴드 하단 라인 아래에서 강세 패턴이 형성되면 매수 신호를 설정합니다. 반면에 Bollinger Band 상단 라인 위에서 약세 캔들 설정이 발생하면 매도 또는 매도 신호를 설정합니다. 간단히 말해서 Bollinger Bands 아래에서 강세 패턴을 관찰하면 가격이 상승할 것으로 예상됩니다. 반대로 볼린저 밴드 위에서 약세 패턴을 발견하면 가격이 하락할 것으로 예상합니다. 이것이 우리가 Python을 사용하여 탐색할 측면입니다.

제공된 Jupyter 노트북은 이 지표의 백테스팅을 보여줍니다. 이 코드는 각각 데이터 검색 및 분석을 위해 Y Finance 모듈과 pandas를 사용합니다. 2021년 4월 1일부터 2023년 3월 19일까지의 유로-미국 달러 환율 데이터가 시간 단위로 다운로드됩니다.

Bollinger Bands를 계산하기 위해 pandas 기술 분석 모듈을 활용하여 길이를 30으로 설정하고 표준 편차를 1.5로 설정합니다. 이러한 매개 변수는 추가 실험을 위해 조정할 수 있습니다.

다음으로 Bollinger Bands 데이터뿐만 아니라 시가, 종가, 고가 및 저가 데이터 프레임을 사용하는 "Bollinger Doji Signal" 함수를 정의합니다. 강세 신호를 수반하는 첫 번째 조건을 확인합니다. 이 경우 볼린저 밴드 하단 라인 아래에서 현재 캔들의 종가를 찾습니다. 동시에 현재 종가는 시가보다 높아야 합니다. 이는 도지 캔들이 선행하는 녹색 또는 상승 추세 캔들을 나타냅니다. 또한 이전 캔들은 종가가 시가보다 낮아 약세여야 합니다. 이 조합은 반전 패턴을 나타냅니다. 이러한 조건이 충족되고 Bollinger Band 하단 라인 아래에서 패턴이 발생하면 매수 신호를 설정합니다. 반대로 약세 신호의 경우 종가는 볼린저 밴드 상단 라인 위에 있어야 하며 현재 캔들은 종가가 시가 아래에 있는 약세 상태여야 합니다. 이에 앞서 종가가 시가보다 높은 상승 추세 또는 녹색 캔들이 있어야 합니다.

이 경우 조합은 약세 반전 패턴을 나타내며 이러한 조건이 충족되고 패턴이 Bollinger Band 상단 라인 위에서 발생하면 매도 신호를 설정합니다.

"Bollinger Doji Signal" 함수는 위에서 언급한 조건에 따라 신호를 계산하고 각 시점에서 매수(1), 매도(-1) 또는 보유(0) 여부를 나타내는 신호 열과 함께 원래 데이터가 포함된 데이터 프레임을 반환합니다. 양초.

그런 다음 이 함수를 과거 데이터에 적용하고 결과를 "signals_df"라는 새 데이터 프레임에 저장합니다.

전략의 성과를 평가하기 위해 신호에 종가의 백분율 변화를 곱하고 누적하여 합산하여 수익을 계산합니다. 또한 전체 기간 동안 단순히 자산을 보유하는 매수 후 보유 전략의 누적 수익을 계산합니다.

마지막으로 두 전략의 누적 수익률을 그래프로 표시하여 성과를 시각화합니다.

백 테스트 결과를 분석하여 볼린저 밴드 지표와 결합된 Doji 및 Engulfing 캔들 패턴의 거래 신호 생성 효과를 평가할 수 있습니다. 이것은 단순화된 예이며 재정적 조언으로 간주되어서는 안 된다는 점에 유의하는 것이 중요합니다. 또한 전략과 매개 변수는 개인의 선호도와 위험 허용 범위에 따라 더욱 최적화되고 맞춤화될 수 있습니다.

코드를 완전히 이해하고 복제하려면 전체 코드와 설명이 포함된 제공된 Jupyter 노트북을 다운로드하여 실행하는 것이 좋습니다.

거래 전략은 실제 거래 시나리오에서 구현하기 전에 철저히 테스트하고 검증해야 한다는 점을 기억하십시오. 투자 결정을 내리기 전에 항상 재무 고문과 상담하거나 광범위한 조사를 수행하는 것이 좋습니다.

이 설명이 거래 전략에서 Bollinger Bands 지표와 결합된 Doji 및 Engulfing 캔들 패턴의 구현을 더 잘 이해하는 데 도움이 되기를 바랍니다.
Master Price Action Trading with Automated Doji and Engulfing Patterns using Python
Master Price Action Trading with Automated Doji and Engulfing Patterns using Python
  • 2023.03.25
  • www.youtube.com
In this informative video, we will explore the power of price action patterns in combination with Bollinger Bands for trading strategy backtesting. Specifica...
 

전략 BackTest Of Price Channel Break Out in Python



전략 BackTest Of Price Channel Break Out in Python

안녕하세요. 제 채널에 다시 오신 것을 환영합니다. 오늘 비디오에서는 가격 채널 돌파를 기반으로 전략을 개발하고 백테스팅하는 데 중점을 둘 것입니다. 처음 오신 분이라면 맞춤형 Python 기반 가격 채널 표시기의 코드를 소개하고 설명했던 이전 에피소드를 시청하는 것이 좋습니다. 아래 설명란에 링크를 남겨두겠습니다. 이제 오늘의 주제로 들어가 백테스팅 부분을 수행해 봅시다.

이전 영상에서는 가격 채널을 감지하는 코드를 제시했습니다. 요약하면 양초의 고점과 저점인 프랙탈을 감지합니다. 프랙탈은 인접한 모든 양초보다 동시에 높거나 낮은 양초의 한 점입니다. 최고점과 최저점의 서로 다른 프랙탈을 감지하고 회귀를 사용하여 기울기에 맞춥니다. 이 슬로프는 가격 채널을 정의하는 채널을 나타냅니다. 그런 다음 가격이 같은 방향으로 계속될 것이라고 가정하고 가격이 이 채널을 벗어날 때 돌파를 감지하려고 합니다.

시각적으로 지표가 제대로 작동하는 것처럼 보이지만 장기 전략에서 어떻게 수행되는지 궁금합니다. 그래서 오늘 전체 백테스팅을 진행합니다. 백테스트에 Python을 사용할 것이며 설명의 링크에서 코드를 다운로드할 수 있습니다.

시작하려면 지난 비디오에서도 사용한 2003년부터 2023년까지의 10년에서 20년 분량의 데이터를 사용하여 데이터를 로드합니다. 프랙탈(고점 및 저점)을 감지하고 채널을 정의하는 창인 백 캔들 수를 45로 설정합니다.

촛불이 피벗 포인트인지 프랙탈 포인트인지 감지하는 is_pivot이라는 함수가 있습니다. 캔들 인덱스와 창 크기의 두 가지 매개변수를 사용합니다. 지정된 창 내에서 인접한 캔들의 모든 최고점 또는 최저점보다 촛불이 높거나 낮은지 확인합니다. 피벗 유형에 따라 값을 반환합니다. 피벗 높음의 경우 1, 피벗 낮음의 경우 2, 둘 다의 경우 3, 기타 경우에는 0입니다. 이 함수를 데이터 프레임의 각 캔들에 적용하고 결과를 "is_pivot"이라는 새 열에 저장합니다.

다음으로 채널을 수집하거나 채널을 감지해야 합니다. 현재 캔들 앞의 45개 캔들을 보고 높고 낮은 프랙탈을 확인합니다. 최소 3개의 최고값과 3개의 최저값이 있는 경우 선형 회귀를 사용하여 피팅하고 기울기의 매개변수를 반환합니다. 그렇지 않으면 0을 반환합니다. 지정된 창 크기를 사용하여 이 함수를 데이터 프레임에 적용하고 결과는 "channel"이라는 새 열에 저장됩니다.

가격 채널 외부의 돌파를 감지하는 is_breakout이라는 함수도 있습니다. 각 캔들에 대해 이전 캔들의 고가가 채널 내에 있는지, 이전 캔들의 종가가 채널의 저점보다 낮은지 확인합니다. 두 조건이 모두 충족되고 현재 캔들의 시가 및 종가도 채널 외부에 있으면 신호를 반환합니다. 하락 추세 신호의 경우 1, 상승 추세 신호의 경우 2, 기타 경우에는 0입니다. 모든 양초에 대해 이 함수를 실행하고 결과를 "is_breakout"이라는 새 열에 저장합니다.

이제 돌파 신호가 있으므로 백테스팅을 진행할 수 있습니다. 우리는 초기 로트 크기가 자기자본의 10%인 백테스팅 라이브러리를 평소와 같이 사용합니다. 손절매 비율을 정의하고 신호를 기반으로 손절매 및 이익실현 수준을 설정합니다. 예를 들어 신호가 2(상승추세)이고 열려 있는 거래가 없는 경우 손절매를 이전 캔들의 저점에 설정하고 이익실현을 평균 실제 범위(ATR)의 배수로 설정합니다.

데이터 프레임의 각 촛불을 반복하고 브레이크아웃 신호가 있는지 확인합니다. 신호가 있고 현재 열려 있는 거래가 없으면 신호를 기반으로 새 거래를 시작합니다. 로트 크기와 가용 자산을 기준으로 거래 규모를 계산합니다.

거래가 시작되면 진행 상황을 추적합니다. 우리는 가격이 우리에게 유리하게 움직일 때 손절매를 업데이트하고 이익 수준을 취합니다. 가격이 손절매 또는 이익 실현 수준에 도달하면 거래를 종료하고 결과를 기록합니다.

마지막으로 총 거래 수, 거래 성공률, 거래당 평균 수익률, 전체 자기 자본 수익률을 포함한 전반적인 성과 지표를 계산하고 인쇄합니다.

다음은 코드가 없는 가격 채널 돌파 전략에 대한 단계별 설명입니다.

  1. 과거 가격 데이터를 로드합니다.
  2. ATR(Average True Range)을 계산하기 위한 기간 및 이익실현 수준을 설정하기 위한 배수와 같은 전략에 대한 매개변수를 정의합니다.
  3. 데이터 프레임의 각 촛불을 반복합니다.
  4. 탈주 신호가 있는지 확인하십시오. 가격이 상위 또는 하위 채널 경계를 초과하면 돌파가 발생합니다.
  5. 브레이크 아웃 신호가 있고 현재 거래가 열려 있지 않으면 신호를 기반으로 새 거래를 입력하십시오. 강세 돌파의 경우 자산을 매수하고 약세 돌파의 경우 자산을 매도하십시오.
  6. 사용 가능한 자산을 기준으로 거래 규모를 계산합니다. 예를 들어 거래 규모를 10%와 같이 자기자본 비율로 설정할 수 있습니다.
  7. 이전 채널 경계를 기준으로 정지 손실 수준을 설정합니다. 강세 돌파의 경우 손절매는 채널 하단 경계 아래에 설정되고 약세 돌파의 경우 손절매는 채널 상단 경계 위에 설정됩니다.
  8. 현재 가격과 ATR을 기준으로 이익실현 수준을 설정합니다. ATR에 2와 같은 배수를 곱하고 강세 돌파를 위해 현재 가격에 더하거나 약세 돌파를 위해 현재 가격에서 뺍니다.
  9. 거래 진행 상황을 추적하십시오. 손절매를 업데이트하고 가격이 유리하게 움직일 때 이익 수준을 얻으십시오. 여기에는 이익을 고정하기 위해 손절매를 조정하거나 가격 뒤에 손절매를 추적하는 것이 포함될 수 있습니다.
  10. 가격이 손절매 또는 이익 실현 수준에 도달하면 거래를 종료하고 결과(이익 또는 손실)를 기록합니다.
  11. 각 돌파 신호에 대해 5~10단계를 반복하고 그에 따라 거래 규모, 손절매, 이익실현 수준을 업데이트합니다.
  12. 총 거래 수, 거래 성공률, 거래당 평균 수익률, 전체 자기 자본 수익률과 같은 전반적인 성과 지표를 계산하고 인쇄합니다.

이 전략을 코드로 구현하면 기록 데이터에서 백테스트하고 성능을 분석할 수 있습니다. 이전에 제공된 코드는 Python의 Backtesting 라이브러리를 사용하여 전략을 구현하는 방법을 보여줍니다.

Strategy BackTest Of Price Channel Break Out In Python
Strategy BackTest Of Price Channel Break Out In Python
  • 2023.03.10
  • www.youtube.com
This is a continuation of the previously released video (https://youtu.be/Bnv7euL-FxM) on price channels break out. This is a full strategy backtest sample s...
사유: