6.1.3 Linux Linux refers to a set of free UNIX distributions such as Cent OS, Debian and Ubuntu. I don't wish to go into details about the benets/drawbacks of each distribution, rather I will concentrate on Debian-based distro. In particular I will be considering Ubuntu Desktop as the algorithmic trading environment. The aptitude package management makes it straightforward to install the necessary under- lying libraries with ease. In addition it is straightforward to create a virtual environment for Python that can isolate your algo trading code from other Python apps. I have never had any (major) trouble installing a Python environment on a modern Ubuntu system and as such I have chosen this as the primary environment from which to conduct my trading. If you would like to give Ubuntu a go before committing fully, by dual-booting for ex- ample, then it is possible to use VirtualBox (https://www.virtualbox.org/) to install it. I have a detailed guide on QuantStart (http://www.quantstart.com/articles/Installing-a-Desktop- Algorithmic-Trading-Research-Environment-using-Ubuntu-Linux-and-Python), which describes the process. 6.2 Installing a Python Environment on Ubuntu Linux In this section we will discuss how to set up a robust, ecient and interactive development environment for algorithmic trading strategy research making use of Ubuntu Desktop Linux and the Python programming language. We will utilise this environment for all subsequent algorithmic trading implementations. To create the research environment we will install the following software tools, all of which are open-source and free to download: Ubuntu Desktop Linux - The operating system Python - The core programming environment NumPy/SciPy - For fast, ecient vectorised array/matrix calculation IPython - For visual interactive development with Python matplotlib - For graphical visualisation of data pandas - For data "wrangling" and time series analysis scikit-learn - For machine learning and articial intelligence algorithms IbPy - To carry out trading with the Interactive Brokers API These tools coupled with a suitable MySQL securities master database will allow us to create a rapid interactive strategy research and backtesting environment. Pandas is designed for "data wrangling" and can import and cleanse time series data very eciently. NumPy/SciPy running underneath keeps the system extremely well optimised. IPython/matplotlib (and the qtconsole described below) allow interactive visualisation of results and rapid iteration. scikit-learn allows us to apply machine learning techniques to our strategies to further enhance performance.
چکیده فارسی
6.1.3 لینوکس لینوکس به مجموعه ای از توزیع های رایگان یونیکس مانند Cent OS، Debian و Ubuntu اشاره دارد. من نمیخواهم به جزئیات در مورد مزایا/معایب هر توزیع بپردازم، بلکه بر توزیع مبتنی بر دبیان تمرکز میکنم. به طور خاص من دسکتاپ اوبونتو را به عنوان محیط معاملاتی الگوریتمی در نظر خواهم گرفت. مدیریت بسته aptitude نصب کتابخانه های زیربنایی لازم را به راحتی آسان می کند. علاوه بر این، ایجاد یک محیط مجازی برای پایتون که می تواند کد معاملاتی الگوریتم شما را از سایر برنامه های پایتون جدا کند، ساده است. من هرگز برای نصب یک محیط پایتون روی یک سیستم مدرن اوبونتو مشکل (عمده) نداشتم و به همین دلیل این محیط را به عنوان محیط اصلی برای انجام معاملات خود انتخاب کرده ام. اگر میخواهید اوبونتو را قبل از commit کردن کامل، به عنوان مثال با بوت دوگانه، امتحان کنید، میتوانید از VirtualBox (https://www.virtualbox.org/) برای نصب آن استفاده کنید. من یک راهنمای مفصل در مورد QuantStart (http://www.quantstart.com/articles/Installing-a-Desktop- Algorithmic-Trading-Research-Environment-using-Ubuntu-Linux-and-Python) دارم که این فرآیند را شرح می دهد. 6.2 نصب یک محیط پایتون در لینوکس اوبونتو در این بخش نحوه راه اندازی یک محیط توسعه قوی، کارآمد و تعاملی برای تحقیق استراتژی تجارت الگوریتمی با استفاده از لینوکس دسکتاپ اوبونتو و زبان برنامه نویسی پایتون را مورد بحث قرار خواهیم داد. ما از این محیط برای همه پیاده سازی های معاملاتی الگوریتمی بعدی استفاده خواهیم کرد. برای ایجاد محیط تحقیق، ابزارهای نرم افزاری زیر را نصب می کنیم که همگی منبع باز و رایگان برای دانلود هستند: لینوکس دسکتاپ اوبونتو - سیستم عامل پایتون - محیط برنامه نویسی هسته NumPy/SciPy - برای سریع، و محاسبه آرایه/ماتریس برداری بردار IPython - برای توسعه تعاملی بصری با پایتون matplotlib - برای تجسم گرافیکی داده ها پانداها - برای داده ها "مشاهده" و تجزیه و تحلیل سری های زمانی scikit-learn - برای یادگیری ماشین و الگوریتم های هوش مصنوعی IbPy - برای انجام معاملات با Interactive Brokers API این ابزارها همراه با یک پایگاه داده اصلی اوراق بهادار MySQL به ما اجازه می دهد تا یک محیط تحقیق استراتژی تعاملی و بک تست سریع ایجاد کنیم. پانداها برای "مشاهده داده ها" طراحی شده اند و می توانند داده های سری زمانی را بسیار کارآمد وارد و پاک کنند. NumPy/SciPy در حال اجرا در زیر سیستم را بسیار بهینه نگه می دارد. IPython/matplotlib (و qtconsole شرح داده شده در زیر) امکان تجسم تعاملی نتایج و تکرار سریع را فراهم می کند. scikit-learn به ما این امکان را می دهد که تکنیک های یادگیری ماشین را در استراتژی های خود به کار ببریم تا عملکرد را بیشتر افزایش دهیم.
ادامه ...
بستن ...
Author(s): Michael Halls Moore
Year: 2015
ادامه ...
بستن ...