Friday 2 February 2018

파이썬으로 거래 전략


파이썬의 거래 전략
당신이 상인이나 투자자이고 양적 거래 기술을 습득하고 싶다면, 당신은 적당한 장소에 있습니다.
The Trading With Python 과정은 전문가 양적 거래자가 작성한 함수 및 스크립트를 포함하여 양적 거래 연구를위한 최상의 도구와 사례를 제공합니다. 이 과정은 투자 한 시간과 돈을 최대로 제공합니다. 그것은 이론적 인 컴퓨터 과학보다는 무역에 대한 프로그래밍의 실용적인 응용에 중점을 둡니다. 이 과정은 데이터를 수동으로 처리하는 데 드는 시간을 절약하여 신속하게 비용을 지불합니다. 귀하의 전략을 연구하고 수익성있는 거래를 구현하는 데 더 많은 시간을 할애 할 것입니다.
강의 개요.
1 부 : 기초 파이썬이 양적 거래를위한 이상적인 도구 인 이유를 배우게됩니다. 우리는 개발 환경을 조성하여 시작하여 과학 도서관에 소개 할 것입니다.
2 부 : 데이터 처리 Yahoo Finance, CBOE 및 기타 사이트와 같은 다양한 무료 소스에서 데이터를 가져 오는 방법을 학습하십시오. CSV 및 Excel 파일을 포함한 여러 데이터 형식을 읽고 쓸 수 있습니다.
파트 3 : 전략 연구 Sharpe 및 Drawdown과 같은 성능 및 성능 통계를 계산하는 방법을 학습합니다. 거래 전략을 수립하고 성과를 최적화하십시오. 이 부분에서는 전략의 여러 가지 예가 논의됩니다.
4 부 : 라이브 가기! 이 부분은 Interactive Brokers API를 중심으로합니다. 실시간 재고 데이터를 얻고 실제 주문을하는 방법을 배우게됩니다.
많은 예제 코드.
과정 자료는이 책과 같이 대화식 코드와 함께 텍스트가 포함 된 '노트북'으로 구성됩니다. 코드와 상호 작용하고 원하는대로 수정하여 학습 할 수 있습니다. 그것은 당신 자신의 전략을 작성하는 좋은 출발점이 될 것입니다.
기본 개념을 이해하는 데 도움이되는 몇 가지 주제에 대해 자세히 설명하지만, 기존 오픈 소스 라이브러리의 지원으로 인해 대부분의 경우 저수준 코드를 작성할 필요조차 없습니다.
TradingWithPython 라이브러리는이 과정에서 다룬 기능 대부분을 즉시 사용할 수있는 기능으로 결합하여 과정 전반에 걸쳐 사용됩니다. 팬더는 데이터 처리에 필요한 모든 무거운 힘을 제공합니다.
모든 코드는 BSD 라이센스하에 제공되며 상업적 용도로 사용할 수 있습니다.
코스 등급.
코스의 조종사는 2013 년 봄에 열렸습니다. 학생들이 다음과 같이 말합니다.
Matej 잘 설계된 코스와 훌륭한 트레이너. 확실히 그 가격과 나의 시간 Lave Jev의 가치가있는 것은 명확히 그의 재료를 알고 있었다. 적용 범위가 완벽했습니다. 제프가이 같은 것을 다시 실행하면 내가 처음으로 가입하게됩니다. John Phillips 귀하의 코스는 실제로 주식 시스템 분석을 위해 파이썬을 고려하기 시작했습니다.

Python 알고리즘 트레이딩 라이브러리.
PyAlgoTrade는 백 트레이싱과 종이 트레이딩 및 라이브 트레이딩을 지원하는 Python Algorithmic Trading Library입니다. 거래 전략에 대한 아이디어가 있고이를 과거 데이터로 평가하고 그것이 어떻게 작동하는지보고 싶다고합시다. PyAlgoTrade는 최소한의 노력으로 그렇게 할 수 있습니다.
주요 특징.
완전히 문서화 됨. 이벤트 중심. Market, Limit, Stop 및 StopLimit 주문을 지원합니다. 야후! 지원 금융, Google Finance 및 NinjaTrader CSV 파일 CSV 형식으로 모든 유형의 시계열 데이터를 지원합니다 (예 : Quandl). Bitstamp를 통한 Bitcoin 거래 지원. 기술 지표 및 SMA, WMA, EMA, RSI, Bollinger Bands, Hurst 지수 및 기타 필터. 샤프 비율 및 인출 분석과 같은 성능 메트릭 실시간 트위터 이벤트 처리. 이벤트 프로파일 러. TA-Lib 통합.
수평 적으로 확장하기 쉽습니다. 즉, 전략을 백 테스트하기 위해 하나 이상의 컴퓨터를 사용합니다.
PyAlgoTrade는 무료 오픈 소스이며 Apache License, Version 2.0에 따라 라이센스가 부여됩니다.

QuantStart.
빠르게 성장하는 소매점 퀀텀 트레이더 커뮤니티를 지원하는 Quantcademy 개인 회원 포털에 가입하십시오. 당신은 당신의 가장 중요한 퀀트 트레이딩 질문에 대답 할 준비가되어있는 지식이 풍부하고 마음이 맞는 퀀트 트레이더 그룹을 찾을 수 있습니다.
퀀트 트레이딩에 관한 나의 eBook을 확인해보십시오. 여기서 저는 파이썬 툴로 수익성 높은 체계적인 트레이딩 전략을 만드는 법을 가르쳐드립니다.
Python 및 R을 사용하여 시계열 분석, 기계 학습 및 베이지안 통계를 사용하는 고급 거래 전략에 관한 새로운 전자 책을 살펴보십시오.
Frank Smietana, 2017 년 7 월 18 일
이 기사에서는 QuantStart의 전문 게스트 기고가 중 한 명인 Frank Smietana가 Python 오픈 소스 백 테스팅 소프트웨어 환경을 설명하고 자신의 프로젝트 요구에 적합한 백 테스팅 프레임 워크에 대한 조언을 제공합니다.
Backtesting은 STS (Systematic Trading Strategy) 프로덕션 프로세스에서 전략 개발과 배포 (라이브 거래) 사이에 가장 중요한 역할을합니다. 전략에 결함이있는 경우 철저한 백 테스팅을 통해이 사실을 알릴 수 있기 때문에 손실 전략이 배포되는 것을 방지 할 수 있습니다.
트레이딩 시뮬레이션 및 라이브 거래를 비롯한 여러 관련 기능이 백 테스트와 겹칩니다. 백 테스트는 기록 데이터를 사용하여 STS 성능을 계량합니다. 트레이딩 시뮬레이터는 거래의 트리거링과 가격대 성능을 가시화함으로써 한 걸음 더 나아가서 백 테스팅을 수행합니다. 시뮬레이트 / 라이브 거래는 테스트 된 STS를 실시간으로 배포합니다. 즉, 거래 신호, 주문 생성, 브로커에게 주문 라우팅, 주문 실행과 함께 위치 유지 등이 있습니다.
대부분의 프레임 워크는 일부 실시간 거래 기능을 포함하여 백 테스팅을 뛰어 넘습니다. 선호하는 브로커 및 데이터 소스와 함께 작동하는 백 테스팅 프레임 워크에서 배포하려는 경우 편리합니다. Quantopian / Zipline은 한 단계 더 나아가 완벽하게 통합 된 개발, 백 테스팅 및 배포 솔루션을 제공합니다.
파이썬 커뮤니티는 6 개 이상의 오픈 소스 백 테스팅 프레임 워크를 사용할 수있어 잘 지원됩니다. 그러나 그들은 개발 및 문서화의 다양한 단계에 있습니다. 오픈 소스 백 테스팅 프레임 워크를 구축하는 팀에서 일하는 것을 즐긴다면 Github repos를 확인하십시오.
백 테스팅 프레임 워크를 평가하기 전에 STS의 요구 사항을 정의하는 것이 좋습니다.
어떤 종류의 자산을 거래하고 있습니까? 대부분의 프레임 워크가 YahooFinance를 통해 미국 주식 데이터를 지원하지만 전략에 파생 상품, ETF 또는 EM 증권이 포함되어 있으면 프레임 워크에서 데이터를 가져 오거나 제공해야합니다. 자산 클래스 범위는 데이터를 뛰어 넘습니다. 프레임 워크가 유한 길이의 미래 및 옵션을 처리하고 롤오버 거래를 자동으로 생성 할 수 있습니까? 비 유동성 시장은 대량 주문을 할 때 얼마나 현실적인 가정을해야합니까?
STS가 구축 한 데이터 빈도 및 세부 정보는 무엇입니까? 모든 틱이나 입찰 / 요청을 요구하는 거래 시스템은 5 분 또는 매시간 간격과는 매우 다른 데이터 관리 문제를 가지고 있습니다. 헤지 펀드 및 HFT 매장은 데이터 양과 빈도를 처리하기 위해 견고하고 확장 가능한 백 테스팅 프레임 워크를 구축하는 데 상당한 투자를했습니다. 일부 플랫폼은 S & P 주식과 같은 다양한 자산 클래스에 대해 1 분의 해결책으로 풍부하고 깊은 데이터 세트를 제공합니다.
STS는 어떤 주문 유형을 요구합니까? 최소, 한계, 정지 및 OCO가 프레임 워크에 의해 지원되어야합니다.
지원 수준 & amp; 필요한 서류. 초기 단계의 프레임 워크는 설명서가 부족하고 커뮤니티 보드 이외의 지원은 거의 없습니다.
Backtesting Framework의 구성 요소.
데이터 및 STS 수집 : 수집 구성 요소는 STS 스크립트 / 정의 파일을 사용하고 테스트에 필요한 데이터를 제공합니다. 프레임 워크가 backtesting 전에 어떤 STS를 다시 코딩해야한다면, 프레임 워크는 STS 테스트 속도를 높이기 위해 가장 유명한 기술 지표에 대한 준비된 기능을 지원해야합니다. 사용자는 프레임 워크에서 제공하는 항목 또는 가져올 수있는 항목을 기준으로 기간을 백 테스트 할 기간을 결정합니다.
성능 테스트는 STS 논리를 요청 된 기록 데이터 창에 적용하고 광범위한 위험 & amp; 최대 삭감, Sharpe & Sortino 비율을 포함한 성능 메트릭. 대부분의 모든 프레임 워크는 주식 곡선 및 deciled 통계를 포함하여 상당한 수의 시각화 기능을 지원합니다.
최적화는 STS 프로세스에서 컴퓨팅 자원의 상당 부분을 필요로하는 경향이 있습니다. STS에서 최적화가 필요한 경우 확장 가능한 분산 / 병렬 처리를 지원하는 프레임 워크에 중점을 둡니다.
기술 지표를 사용하여 개발 된 전략의 맥락에서 시스템 개발자는 각 지표에 대한 최적의 매개 변수 집합을 찾으려고 시도합니다. 가장 간단하게, 최적화는 6 일과 10 일 이동 평균 크로스 오버 STS가 1에서 20 사이의 다른 기간 조합보다 역사적인 테스트 데이터에서 더 많은 이익을 축적했음을 알 수 있습니다. 이미이 간단한 예제를 사용하면 20 * 20 = 400 매개 변수 조합이 계산 & amp; 순위.
포트폴리오 컨텍스트에서 최적화는 포트폴리오의 모든 자산에 대한 최적의 가중치 (단락 및 레버리지 된 수단 포함)를 찾으려고합니다. 주기적으로 포트폴리오가 재조정되어 최적화 된 가중치와 일치하도록 필요한 포트폴리오 보유 물의 매매가 이루어집니다.
위치 조정은 최적화의 추가 사용으로 시스템 개발자가 STS 및 포트폴리오 성능에 대한 레버리지 및 동적 위치 결정의 영향을 시뮬레이션 및 분석 할 수 있습니다.
파이썬에 대한 6 가지 백 테스팅 프레임 워크.
오픈 소스 Python 백 테스팅 플랫폼의 표준 기능에는 다음이 포함됩니다.
이벤트 주도 매우 유연하고 제한없는 라이센스 사전 정의 된 기술 지표의 적절한 수집 표준 성능 메트릭 계산 / 시각화 /보고 기능.
PyAlgoTrade.
PyAlgoTrade는 종이 및 라이브 거래 기능과 함께 완전하게 문서화 된 백 테스팅 프레임 워크입니다. 데이터 지원에는 Yahoo! Finance, Google Finance, NinjaTrader 및 Quandl과 같은 모든 유형의 CSV 기반 시계열. 지원되는 주문 유형에는 Market, Limit, Stop 및 StopLimit가 포함됩니다.
PyAlgoTrade는 Bitstamp를 통한 Bitcoin 거래 및 실시간 Twitter 이벤트 처리를 지원합니다.
bt - 파이썬 백 테스팅.
bt "는 복잡한 거래 전략의 신속한 개발을 촉진하기 위해 쉽게 테스트 할 수 있고, 재사용이 가능하며, 유연한 전략 논리 블록을 만드는 것을 목표로합니다."
이 프레임 워크는 특히 자산 가중치와 포트폴리오 재조정을위한 포트폴리오와 함께 포트폴리오 기반 STS를 테스트하는 데 적합합니다. 다른 시간 빈도 또는 대체 자산 가중치를 실행하는 전략을 수정하면 코드를 미세 조정할 수 있습니다. bt는 파이썬을위한 파이낸셜 함수 라이브러리 인 ffn 위에 구축되었습니다.
백 트레이더.
이 플랫폼은 블로그와 질문 및 기능 요청 게시를위한 활발한 온라인 커뮤니티와 함께 ​​매우 잘 문서화되어 있습니다. Backtrader는 CSV 파일, Pandas DataFrames, 블레이즈 반복기 및 세 브로커의 실시간 데이터 피드를 비롯한 다양한 데이터 형식을 지원합니다. 이러한 데이터 피드는 동시에 액세스 할 수 있으며 서로 다른 시간대를 나타낼 수도 있습니다. 지원되는 중개인은 FX 거래를위한 Oanda 및 대화 형 중개인 및 비주얼 차트를 통한 다중 자산 클래스 거래를 포함합니다.
pysystemtrade.
pysystemtrade 개발자 인 Rob Carver는 왜 또 다른 Python 백 테스팅 프레임 워크와 프레임 워크 개발에 대한 논쟁을 만들어 내기 시작했는지 토론하는 훌륭한 글을 가지고 있습니다. pysystemtrade에 대한 백 테스팅 프레임 워크는 Rob의 책 "Systematic Trading"에서 논의됩니다.
pysystemtrade는 최적화 및 조정 기술이 포함 된 완전한 기능을 갖춘 백 테스터와 인터랙티브 브로커 (Interactive Brokers)를 통한 완전 자동 선물 거래를 비롯한 다양한 로드맵 기능을 나열합니다. 오픈 소스 참여자를 환영합니다.
Zipline은 종이 및 라이브 거래 기능을 갖춘 알고리즘 트레이딩 시뮬레이터입니다. Zipline은 브라우저 기반의 IPython 노트북 인터페이스를 통해 액세스 할 수있어 명령 줄 도구 대신 사용할 수 있습니다. Quantopian이 지원하고 개발 한 Zipline은 독립형 백 테스팅 프레임 워크 또는 완전한 Quantopian / Zipline STS 개발, 테스트 및 배포 환경의 일부로 사용할 수 있습니다. Zipline은 10 년간의 역사적인 미국 주식 데이터 및 많은 데이터 가져 오기 옵션을 제공합니다.
QSTrader는 실시간 거래 기능이있는 백 테스팅 프레임 워크입니다. 퀀트 스타트의 설립자 인 마이클 홀즈 무어 (Michael Halls-Moore)는 소매점 퀀트 헤지 펀드와 기관 퀀트 헤지 펀드의 요구에 부응 할 수있는 강력하고 확장 가능한 플랫폼을 구축하려는 의도로 QSTrader를 출시했습니다. Qstrader는 현재 다양한 시간 범위에서 OHLCV "바"해상도 데이터를 지원하지만 진드기 데이터를 사용할 수 있습니다.
백 테스팅과 라이브 거래는 모두 이벤트 중심으로 이루어 지므로 연구에서 테스트 및 최종 거래에 이르는 전략의 전환을 간소화합니다. 핵심 전략 / 포트폴리오 코드는 두 배포 모두에서 종종 동일합니다.
Qstrader의 주요 이점은 모듈성이므로 특정 위험 또는 포트폴리오 관리 요구 사항을 가진 사람들을 위해 광범위한 사용자 정의 코드를 사용할 수 있습니다.
Backtest 채택.
(잘하면 수익성있는) STS 개발에 대한 보상에 집중하고 전략을 철저히 테스트하는 데 충분한 시간과 자원을 투자하지 않고 자금이 투입된 계좌를 배포하는 것은 인류의 본성입니다. 그러나 백 테스팅은 결함있는 전략을 배치하고 거래 자본을 잃지 않도록하는 게이트 키퍼 일뿐만 아니라 STS 개발 프로세스에 알릴 수있는 여러 가지 진단 기능을 제공합니다. 예를 들어, 두 개의 서로 다른 시간 프레임에 걸쳐 동일한 STS를 테스트하고, 자산 상관 관계의 맥락에서 전략의 최대 축소를 이해하며, 여러 지역에 걸쳐 자산 할당을 백 테스팅하여 더 똑똑한 포트폴리오를 만들 수 있습니다.
향후 게시물에서는 Python이 아닌 환경의 백 테스팅 프레임 워크와 예측 거래 모델 백 테스팅을위한 부트 스트래핑 및 잭 나이프와 같은 다양한 샘플링 기술의 사용에 대해 다룰 예정입니다.
양적 거래 시작하기?
QuantStart 목록을 구독해야하는 3 가지 이유 :
1. 퀀트 트레이딩 레슨.
계량 거래를 시작하는 데 도움이되는 힌트와 팁으로 가득한 무료 10 일간 코스에 즉시 액세스 할 수 있습니다!
2. 모든 최신 내용.
매주 나는 퀀트 스타트에서 모든 활동의 포장을 보내드릴 것입니다. 그래서 당신은 결코 다시 글을 놓치지 않을 것입니다.
현실감 넘치는 퀀 트레이딩 팁.

파이썬의 거래 전략
App Store를 통해 가져 오기 우리의 응용 프로그램 에서이 게시물을 읽으십시오!
거래 전략 개발을위한 스크립팅 언어.
저는 현재 퀀트 또는 전략 개발자가 자신 만의 맞춤 전략을 작성할 수있게 해주는 거래 제품의 구성 요소를 개발 중입니다. 나는 dev / test주기가 수 분이 걸려야하기 때문에 원래 전략적으로 컴파일 한 언어 (또는 VM에서 실행하기 위해 바이트 코드로 컴파일하는 언어)를 작성하게 할 수는 없다.
지금까지 루아, 파이썬, 루비를 살펴 봤지만 지금까지는 그 모든 것을 정말로 즐겼습니다. 그러나 여전히 타겟 사용자에게는 조금 "낮은 수준"이라는 것을 알았습니다. 루핑, 간단한 arithmatic, 논리적 표현 평가를위한 최소한의 지원으로 언어를 지원하기 위해 필자 자신의 파서 + 인터프리터를 어떻게 써야할까요? 아니면 당신이 가질 수있는 다른 권고가 있습니까? 미리 감사드립니다.
11 답변.
Perl의 Text :: Template 모듈 작성자 인 Mark-Jason Dominus는 관련성이있는 몇 가지 통찰력을 가지고 있습니다.
사람들이 이와 같은 템플릿 모듈을 만들 때 대체로 특별한 구문을 사용하여 시작합니다. 예를 들어, %% VAR %%와 같은 문자열이 $ VAR 값으로 바뀌도록 빌드합니다. 그런 다음 추가 서식이 필요하다는 것을 알기 때문에 서식을 지정하기위한 특수 구문을 사용합니다. 그런 다음 루프가 필요하므로 루프 구문을 만듭니다. 곧 그들은 새로운 작은 템플릿 언어를 갖게됩니다.
이 접근법에는 두 가지 문제가 있습니다. 첫째, 그들의 작은 언어는 절름발이입니다. 저자가 생각하지 못했던 것을해야한다면 잃어 버릴 수 있습니다. 둘째 : 누가 다른 언어를 배우고 싶어?
자신 만의 미니 언어를 작성하면 동일한 곤경에 빠지게 될 수 있습니다. 디자인으로 인해 장애가있는 도구에 대한 문법과 파서를 유지해야합니다.
실제 프로그래밍 언어가 너무 낮은 수준이라면 솔루션은 언어를 포기하지 않고 최종 사용자에게 더 높은 수준의 유틸리티 기능을 제공하여 사용자가 익숙하지 않은 개념으로 작동 할 수 있도록합니다. 기본 언어의 잡초.
따라서 초보 사용자는 높은 수준에서 작업 할 수 있습니다. 그러나 당신과 당신의 수퍼 유저 인 최종 사용자는 여전히 Ruby 나 Python 등의 모든 기능을 활용할 수 있습니다.
대상 언어 위에 느슨하게 구축 할 수있는 사용자를 위해 일종의 도메인 특정 언어 (DSL)를 만들어야 할 필요가있는 것 같습니다. 루비, 파이썬, 루아는 모두 문법에 관한 여러 가지 단점을 가지고 있으며, 어느 정도는 이들을 영리한 함수 정의로 마사지 할 수 있습니다.
매우 견고한 DSL의 예는 Cucumber입니다. 이 도구는 입력 데이터에 적용되는 일련의 정규 표현식을 통해 사용자가 지정한 표현을 실제 실행 코드로 변환하는 흥미로운 전략을 구현합니다.
또 다른 후보는 JavaScript 또는 DSL 대 JavaScript 브리지 일 수 있습니다. 이는 클라이언트 측 또는 서버 측 중 하나를 실행하는 전략을 허용하기 때문입니다. 클라이언트 시스템은 부하가 큰 서버에 비해 컴퓨팅 성능이 월등하기 때문에 응용 프로그램을 확장하는 데 도움이 될 수 있습니다.
사용자 정의 모듈은 회사의 고수준 구조를 정의하는 선택에 관계없이 필요합니다.
여기에 내가 생각한 몇 가지 요구 사항이 있습니다. 애플리케이션의 현재 위치, 현재 및 과거 인용, 이전 실적 데이터 등을 얻을 수있는 방법 중 일부는 이미 다룰 수 있습니다. 다양한 종류의 주문 (제한 / 시장 / 중지, 교환, 트리거) 또는 옵션 등을 정의 / 백 테스트 / 보내기합니다. 실제 테스트뿐만 아니라 테스트를 위해 여러 샌드 박스가 필요할 것입니다.
퀀트는 행렬 연산, 확률 적 미적분, PDE를 수행 할 수 있기를 원합니다.
파이썬으로하고 싶다면 NumPy를 로딩하는 것이 처음이다.
Mathematica 또는 Matlab 위에 구축 된 것과 같은 수학적 금융 연구를 수행하도록 설계된 독점 시스템으로 시작할 수도 있습니다.
나는 Python Algorithmic Trading Library (실제 거래를위한 것이 아니라 백 테스팅을 위해 실제로)에서 일 해왔다. 그것을보고 싶을 수도 있습니다 : gbeced. github / pyalgotrade /
MATLAB을 스크립팅 언어로 사용하여 백 테스팅 프레임 워크를위한 tadeveloper를 확인하십시오. MATLAB은 매우 강력하다는 장점이 있지만 프로그래머가 될 필요는 없습니다.
이것은 약간 단순 할 수도 있지만 많은 퀀트 사용자는 Excel & amp; VBA 매크로. VBSCript와 같은 것이 사용 가능할 수도 있습니다. 왜냐하면 그들은이 분야에서 약간의 경험을 할 수 있기 때문입니다.
기존 언어는 대상 사용자에게 "조금 낮은 수준"입니다. "
그러나 필요한 것은 "루핑, 간단한 arithmatic, 논리적 표현 평가를위한 최소한의 지원"입니다.
나는 문제가 발생하지 않는다. 몇 가지 기능 만 원할뿐입니다. 제공하신 언어 목록에 어떤 문제가 있습니까? 그들은 실제로 그 기능을 제공합니까?
연결 해제 무엇입니까? 질문을 업데이트하여 문제의 범위를 넓히십시오.
빠른 개발 (실행중인 이미지가 있고 개별 기능을 컴파일 / 재 컴파일 할 수 있음)을 지원하고 언어를 도메인에 맞게 조정하는 Common Lisp을 사용합니다. 전략을 표현하기 위해 함수와 매크로를 구성 요소로 제공 할 것이며, 이를 결합하기 위해 전체 언어를 사용할 수 있습니다.
당신이 쏘고있는 복잡성 수준을 처리하는 과정에 뭔가가 있습니까? 처리는 완전한 언어 (Java)를 사용하고 문제 도메인에 적용 가능한 하위 집합 (문제 도메인 = 처리의 경우 시각화)으로 사용 가능한 구문을 축소 / 단순화하는 좋은 예입니다.
Processing 문서와 비교해 보았습니다.
다른 사람들이 제안했듯이 대부분의 복잡성이 사용자에게 숨겨져 있지만 필요한 경우 더 낮은 수준의 작업을 수행 할 수있는 능력을 유지할 수 있도록 충분한 고급 기능을 작성할 수 있습니다. Arduino의 배선 언어는 비 프로그래머와 애호가가 더 쉽게 액세스 할 수 있도록하기 위해 C 상위 계층의 고급 기능을 사용하는 전략을 따릅니다.
먼저 언어를 정의하십시오. 가능한 경우 EBN이라는 의사 언어를 사용하십시오. 매우 간단합니다 (Wikipedia 항목 참조).
그런 다음 한 번 언어를 선택하십시오. 거의 확실하게 DSL을 사용하고자합니다. 루비와 루아는 모두 이것에 정말 능숙합니다.
일단 작업을 시작하면 정의로 돌아가 그것을 조정할 수 있습니다. 그러나 그것이 바로 일을하는 올바른 순서입니다.

No comments:

Post a Comment