Monday 19 March 2018

R과 거래 전략


r을 이용한 거래 전략
App Store를 통해 가져 오기 우리의 응용 프로그램 에서이 게시물을 읽으십시오!
R : 거래 전략을 역행하십시오. Quantumod와 R. 에 초보자.
나는 R에 매우 익숙하며 WealthLab에서 이미 프로그래밍 한 전략을 다시 테스트하려고합니다.
내가 이해하지 못하는 몇 가지 것들 (그리고 그것은 분명히 작동하지 않습니다 :)
가까운 가격을 멋지게 벡터에 넣지는 않습니다. 또는 어떤 종류의 벡터지만 구조로 시작하고 나는이 함수가 무엇을하는지 정말로 이해하지 못한다. 그게 내 시리즈 [, 1] 호출이 아마 작동하지 않는 이유입니다.
n - nrow (series)도 작동하지 않지만 Loop에 필요합니다.
그래서이 두 가지 질문에 대한 답변을 얻으려면 내 전략이 효과가 있다고 생각합니다. 어떤 도움을 주셔서 감사합니다. R은 다른 언어로 프로그래밍 경험을해도 매우 복잡해 보입니다.
두 번째 질문부터 시작합니다.
따라서 실제 xts 객체에서 작업하려면 get을 사용해야합니다.
귀하의 첫 번째 질문에 대해 - 나는 당신이 정말로 벡터로 데이터를 가져올 필요가 없다고 생각합니다 - xts 객체는 날짜별로 인덱싱 된 배열이며 작업하기 쉽습니다. 그래도 데이터를 얻으려면 사용할 수 있습니다.
이제 전략의 간단한 백 테스트를 시작하려면 다음 단계를 수행하는 것이 좋습니다.
전략을 정의하십시오. 2. 배열을 생성하거나 각 요일의 위치를 ​​나타내는 열을 xts 객체에 추가하십시오. 1은 길고, 0은 위치가 없으며 -1은 짧습니다 (나중에는 레버리지 번호로 게임을 할 수 있습니다). 3. 매일의 수익을 포지션과 곱하면 전략의 리턴 벡터를 얻을 수 있습니다. 4. 결과를 검토하십시오 - 내 추천은 PerformanceAnalytics입니다.
간단한 전략 - SMA20을 닫을 때 구매하십시오.

FOSS 거래.
무료 오픈 소스 소프트웨어로 알고리즘 트레이딩.
2011 년 3 월 26 일 토요일.
R에서 전략을 백 테스팅하는 방법.
quantmod의 getSymbols 함수는 Yahoo Finance의 일일 데이터를 사용할 수있는 경우이 단계를 쉽게 만듭니다. 또한 다른 소스 (FRED, Google, Oanda, R 저장 파일, 데이터베이스 등)에서 데이터를 가져 오는 "방법"(엄격한 의미가 아님)이 있습니다. 템플릿을 사용하여 사용하는 특정 공급 업체에 대한 사용자 지정 함수를 작성할 수도 있습니다.
2 단계 : 표시기를 만듭니다.
TTR 패키지에는 다양한 지표가 포함되어 있습니다. 지표는 독창적이고 자유로운 방법으로 쉽게 결합 할 수 있도록 작성되었습니다. R-forge의 개정 106부터 TTR에는 DVI 표시기가 있습니다.
3 단계 : 거래 규칙을 수립하십시오.
이 거래 규칙은 간단하기 때문에 DVI가 0.5 이하이면 100 %로 길고 그렇지 않으면 100 %로 짧습니다. 단 한 줄로 작성할 수 있습니다. 보다 정교한 규칙 및 / 또는 위치 설정을 수행 할 수도 있지만 더 많은 코드가 필요합니다 (위치 크기 지정을 사용하는 RSI (2)는 더 복잡한 위치 크기 조정 규칙의 예입니다). 또한 신호 벡터가 뒤떨어져있어 미리보기 바이어스를 피할 수 있습니다.
4 단계 : 거래 규칙 / 형량 곡선.
Damian의 예에서와 같이, 아래 코드는 마찰이없고 슬립을 고려하지 않은 단순화 된 접근법입니다. 아래 코드는 오늘 백분율을 반환하고 어제의 신호 / 위치 크기 (이 예제에서는 항상 +/- 100 %)로 곱합니다. 또한 Excel 파일의 결과와 일치하도록 시스템 반환을 하위 집합으로 지정합니다.
5 단계 : 전략 성과를 평가합니다.
Damian은 전략 평가의 중요성에 대해 언급했습니다. 다행스럽게도 R 사용자의 경우 PerformanceAnalytics 패키지를 사용하면이 작업을 쉽게 수행 할 수 있습니다. 몇 줄의 코드를 사용하여 코드 단편, 단점 위험 및 성능 요약을 볼 수 있습니다.
그게 바로 R에서 간단한 전략을 뒷받침하는 것입니다. 협박하는 것이 아니 었나요? Excel에서 R로 backtesting을 옮길 경우 의견을 남기십시오. 끊어져 있거나 공유하고 싶은 멋진 팁이 있습니다.

트레이딩 전략에 대한 백 테스팅.
그동안 나는 John Mauldin의 "Over My Shoulder"서비스에 대한 기사를 읽는 동안 거래 전략을 발견하게되었습니다. 그 핵심은 기술 버블 붕괴로 시작된 곰 시장에서 S & amp; P500의 평균 반전에 베팅하는 전략이 상당한 수익을 창출했음을 말합니다. 당연히 나는 시험하고 싶었다.
다음 사항을 권유하지는 않습니다. 숙제를하고 질문이 있으면 투자 전문가와 상담하십시오.
이 전략은 시장이 지난 3 일 동안 최대치로 마감되면 S & amp; P500을 오랫동안 진행하는 것입니다. 거래를 취소하고 시장이 지난 3 일 동안 최소로 마감되면 오래갑니다. ETF는이 전략을 상대적으로 쉽게 거래 할 수 있도록합니다. SPY는 오랫동안 S & amp; P500에 대한 우리의 수단이 될 것이고 SH는 짧게가는 우리의 수단이 될 것입니다.
SH는 2006 년 6 월 21 일에 거래를 시작했습니다. 우리는 지금까지 그 시점에서 우리의 역행을 집중합니다.
이전에 작성한 importSeries () 함수를 사용하여 SPY 및 SH의 모든 값을 가져옵니다.
우리는 보류 할 추가 시간 시리즈를 생성해야합니다.

R을 이용한 양적 거래 전략 : 단계별 가이드.
이 글에서는 R을 사용하여 거래 전략을 수립하는 것에 대해 논의 할 것입니다. R을 사용하여 거래 전문 용어에 머무르기 전에 R이 무엇인지 이해하는 데 시간을 할애해야합니다. R은 오픈 소스입니다. 4000 개가 넘는 애드온 패키지가 있으며, 18000 + LinkedIn 그룹의 멤버와 현재 80 개의 R Meetup 그룹이 있습니다. 특히 데이터 분석을위한 통계 분석을위한 완벽한 도구입니다. Comprehensive R Archive Network의 간결한 설정은 CRAN이 필요한 기본 설치와 함께 패키지 목록을 제공함을 알고 있습니다. 분석에 따라 사용할 수있는 패키지가 많이 있습니다. 거래 전략을 구현하기 위해 quantstrat이라는 패키지를 사용합니다.
기본 거래 전략의 4 단계 프로세스.
가설 형성 시험 정제 생산.
우리의 가설은 "시장은 평균 반향이다"라고 공식화되어있다. 평균 회귀 (mean reversion)는 결국 가격이 결국 평균값으로 돌아 간다는 것을 나타내는 이론입니다. 두 번째 단계는 우리 가설에 대한 전략을 공식화하고 지표, 신호 및 성과 지표를 계산하는 가설을 검증하는 것입니다. 테스트 단계는 세 가지 단계, 데이터 가져 오기, 전략 작성 및 출력 분석으로 나눌 수 있습니다. 이 예에서는 NIFTY-Bees를 고려합니다. Goldman Sachs가 관리하는 Exchange 거래 펀드입니다. NSE는 장비에 대한 막대한 양을 가지고 있으므로이를 고려합니다. 아래 이미지는 동일 가격의 Open-High-Low-Close 가격을 보여줍니다.
우리는 가격의 변동을 비교하기위한 기준점을 설정합니다. 가격이 증가하거나 감소하면 임계 값 열을 업데이트합니다. 종가는 상위 밴드와 하위 밴드와 비교됩니다. 상부 밴드가 넘어지면, 그것은 판매를위한 신호입니다. 마찬가지로 낮은 밴드가 넘어지면 팔리는 신호입니다.
코딩 섹션은 다음과 같이 요약 될 수 있습니다.
전략 결과물에 대한 헬리콥터보기가 아래 다이어그램에 나와 있습니다.
따라서 시장이 평균 반전이라는 가설이 뒷받침된다. 이것은 역기능 테스트이므로 평균 수익률과 실현 된 이익을 개선 할 수있는 거래 매개 변수를 조정할 여지가 있습니다. 다른 임계 값 레벨, 보다 엄격한 입력 규칙, 정지 손실 등을 설정하여 수행 할 수 있습니다. 백 테스트를 위해 더 많은 데이터를 선택하고, 임계 값 설정을 위해 Bayseian 접근법을 사용하고, 변동성을 고려합니다.
일단 백 - 테스트 결과에 의해 뒷받침되는 거래 전략에 대해 확신하고 나면 라이브 거래를 시작할 수 있습니다. 프로덕션 환경은 그 자체로 큰 주제이며 기사의 맥락에서 벗어납니다. 간단히 설명하면 거래 플랫폼에 전략을 쓰는 것입니다.
앞서 언급했듯이, 우리는 quantstrat 패키지를 사용하여 모델을 구축 할 것입니다. Quantstrat는 신호 기반 정량 전략을 모델링하고 백 테스트하는 일반 인프라를 제공합니다. 매우 적은 코드 행에서 전략을 빌드하고 테스트 할 수있게 해주는 고급 추상화 계층 (xts, FinancialInstrument, blotter 등을 기반으로 함)입니다.
퀀트 스트릿의 주요 특징은 다음과 같다.
지표, 신호 및 규칙을 포함하는 전략 지원 다중 자산 포트폴리오에 전략 적용 가능 시장, 제한, 중지 및 중지 오더 유형 지원 주문 크기 조정 및 매개 변수 최적화를 지원합니다.
이 게시물에서 우리는 지표, 신호 및 규칙을 포함하는 전략을 수립합니다.
일반적인 신호 기반 모델의 경우 다음 사항을 고려해야합니다.
계측기 - 시장 데이터 포함 지표 - 시장 데이터로부터 도출 된 정량적 가치 신호 - 시장 데이터와 지표 간의 상호 작용 결과 규칙 - 시장 데이터, 지표 및 신호를 사용하여 주문을 생성합니다.
별로 신경 쓰지 않고 코딩 부분을 논의 해 봅시다. 우리는 코딩을 위해 R studio를 선호하며 동일한 것을 사용하라고 주장합니다. 전략을 프로그래밍하기 전에 특정 패키지가 설치되어 있어야합니다.
다음 명령 세트는 필요한 패키지를 설치합니다.
패키지를 설치하면 추가 사용을 위해 패키지를 가져옵니다.
csv 파일에서 데이터를 읽고 xts 객체로 변환합니다.
우리는 주식, 통화, 초기 자본 및 전략 유형으로 포트폴리오를 초기화합니다.
동일한면에서 두 번 이상 교역하려면 위치 제한을 추가하십시오.
전략 개체를 만듭니다.
우리는 거래하고자하는 임계 값을 계산하는 함수를 만듭니다. 가격이 thresh1만큼 이동하면 임계 값을 새 가격으로 업데이트합니다. 거래를위한 새로운 밴드는 Threshold +/- Thresh2입니다. reclass 함수를 사용하지만 출력은 xts 객체입니다.
표시기, 신호 및 거래 규칙을 추가하십시오.
전략을 실행하고 주문서를보십시오.
포트폴리오를 업데이트하고 무역 통계를보십시오.
다음은 완전한 코드입니다.
이러한 기본 사항에 익숙해지면 R에서 quantimod 패키지를 사용하는 방법을 살펴 보거나 C ++을 잘 이해할 수 있도록 C ++로 코딩 된 예제 전략을 살펴보십시오.
자신의 자동 트레이딩 데스크를 시작하려는 소매업 종사자 또는 기술 전문가 인 경우 오늘 알 고 트레이딩을 배우십시오! 자동화 된 거래 아키텍처, 시장 미세 구조, 전략 백 테스트 시스템 및 주문 관리 시스템과 같은 기본 개념으로 시작하십시오.

No comments:

Post a Comment