Quantitative trading with r: understanding mathematical and computational tools from a ... quant's perspective - Original PDF

دانلود کتاب Quantitative trading with r: understanding mathematical and computational tools from a ... quant's perspective - Original PDF

Author: Georgakopoulos, H

0 (0)

توضیحات کتاب :

The primary tools that quants and traders rely on to perform their daily activi- ties include intuition, data, computer hardware, computer software, mathematics, and finance. They utilize these tools in ingenious ways as a means to an end. The end, of course, is the generation of consistent profits in the financial markets. Many traders have done well for themselves by relying on intuition alone. But intuition alone, on average, will not yield superior results. A tool chest of sorts is required in order to maximize the quant/trader’s chances of producing consistent and favor- able outcomes. A programming language is one such tool. In this book, we will learn how to wield the R programming language for the purposes of manipulating data, performing math operations, automating workflows, displaying informative visualizations, creating reproducible results, and doing lots of other cool stuff. The R language R [88] is an open-source scripting language that has become very popular among statisticians, data science practitioners, and academics over the years. It is a func- tional programming language by nature, but it also supports the object oriented and imperative programming paradigms. 1 In some sense, R is both a program- ming language as well as a development framework. The framework has support for some advanced graphing capabilities and provides access to multiple state-of-the- art statistical packages. The language itself supports conditional statements, loops, functions, classes, and most of the other constructs with which VBA and C++ users are familiar. The plethora of contributed packages by third parties, a solid user-base, and a strong open-source community are some other key strengths of R. The R system can be divided into two conceptual parts:

سرچ در وردکت | سرچ در گودریدز | سرچ در اب بوکز | سرچ در آمازون | سرچ در گوگل بوک

695 بازدید 0 خرید

ضمانت بازگشت

ضمانت بازگشت

فایل های تست شده

فایل های تست شده

پرداخت آنلاین

پرداخت آنلاین

تضمین کیفیت

تضمین کیفیت

دانلود فوری

دانلود فوری

1 An Overview My primary intent in writing this book is to provide the reader with basic program- ming, financial, and mathematical tools that can be successfully leveraged both in industry and academia. I cover the use of the R programming language, as well as the R environment as a means for manipulating financial market data and for solving a subset of problems that quants and traders typically encounter in their day-to-day activities. The chapters that follow should be treated as a tutorial on a recommended set of tools that I have personally found useful and that have served me well during the last few years of my career as a quant trader/developer. I am writing this book from the vantage point of a quant practitioner and not that of an academic. A significant portion of the content is based on my lecture notes from a graduate level class in quantitative finance that I teach on a part-time basis at Loyola University in Chicago. This is an introductory-level book. No prior programming experience or advanced mathematical knowledge is assumed. Having said this, some chapters will tend to flow easier if you have had some prior exposure to the following topics. On the math side, I recommend a review of basic calculus, linear algebra, statistics, and probability. 1 On the programming side, familiarity with VBA, Python, and SQL2 is helpful. This book is also aimed at practitioners and seasoned traders who want to learn more about how to conduct data analysis on financial data and how to write useful R scripts to automate some of their workflow. Trading and programming are vast topics in their own right, and by no means will I attempt to give a thorough explanation of each concept. You will not become an expert programmer by reading this book, nor will you make a ton of money in the markets by following my advice. This book will, however, provide tools and ideas that can assist in the analysis, implementation, and presentation of trading strategies and other related quantitative topics. Figure 1.1 provides an illustration of the items I will address in subsequent chapters

چکیده فارسی

 

1 یک مرور کلی هدف اصلی من از نوشتن این کتاب این است که ابزارهای اساسی برنامه نویسی، مالی و ریاضی را در اختیار خواننده قرار دهم که بتوان با موفقیت هم در صنعت و هم در دانشگاه از آنها استفاده کرد. من استفاده از زبان برنامه نویسی R و همچنین محیط R را به عنوان وسیله ای برای دستکاری داده های بازار مالی و برای حل زیرمجموعه ای از مشکلاتی که کوانت ها و معامله گران معمولا در فعالیت های روزانه خود با آن مواجه می شوند، پوشش می دهم. فصل‌هایی که در ادامه می‌آیند باید به‌عنوان آموزش مجموعه‌ای از ابزارهای توصیه‌شده در نظر گرفته شوند که من شخصاً مفید بوده‌اند و در چند سال گذشته به عنوان یک تاجر/توسعه‌دهنده کوانتومی به خوبی به من خدمت کرده‌اند. من این کتاب را از منظر یک متخصص کمیت می نویسم و ​​نه از دیدگاه یک دانشگاهی. بخش قابل توجهی از محتوا بر اساس یادداشت های سخنرانی من از یک کلاس تحصیلات تکمیلی در رشته مالی کمی است که به صورت پاره وقت در دانشگاه لویولا در شیکاگو تدریس می کنم. این یک کتاب در سطح مقدماتی است. هیچ تجربه برنامه نویسی قبلی یا دانش ریاضی پیشرفته فرض نمی شود. با گفتن این موضوع، اگر قبلاً با موضوعات زیر آشنا شده باشید، برخی از فصل‌ها آسان‌تر می‌شوند. در بخش ریاضی، من مروری بر حساب پایه، جبر خطی، آمار و احتمال را توصیه می کنم. 1 در بخش برنامه نویسی، آشنایی با VBA، Python و SQL2 مفید است. این کتاب همچنین برای پزشکان و معامله‌گران باتجربه که می‌خواهند درباره نحوه انجام تجزیه و تحلیل داده‌ها بر روی داده‌های مالی و نحوه نوشتن اسکریپت‌های مفید R برای خودکار کردن برخی از گردش کار خود بیشتر بیاموزند، در نظر گرفته شده است. تجارت و برنامه نویسی به خودی خود موضوعات گسترده ای هستند و من به هیچ وجه سعی نمی کنم توضیح کاملی در مورد هر مفهوم ارائه دهم. شما با خواندن این کتاب به یک برنامه نویس خبره تبدیل نمی شوید و با پیروی از توصیه های من در بازار پول زیادی به دست نمی آورید. با این حال، این کتاب ابزارها و ایده هایی را ارائه می دهد که می تواند به تجزیه و تحلیل، اجرا و ارائه استراتژی های معاملاتی و سایر موضوعات کمی مرتبط کمک کند. شکل 1.1 تصویری از مواردی را ارائه می دهد که در فصل های بعدی به آنها خواهم پرداخت

 

ادامه ...

Author(s): Georgakopoulos, H

Publisher: Palgrave Macmillan, Year: 2016

ISBN: 9781349469864,9781137437471,1349469866

ادامه ...

Contents List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii 1 An Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 The mission statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Financial markets and instruments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Trading strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 High-frequency trading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 About the orderbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Trading automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Where to get data from . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2 Tools of the Trade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 The R language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Getting started with R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 The c() object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 The matrix() object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 The data.frame() object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 The list() object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 The new.env() object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Using the plot() function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Functional programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Writing functions in R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Branching and looping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 A recommended style guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 A pairwise correlation example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3 Working with Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Getting data into R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Installing packages in R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Storing and transmitting data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Extracting data from a spreadsheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Accessing a database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 The dplyr package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Using the xts package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 viii Contents Using the quantmod package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Charting with quantmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Graphing with ggplot2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4 Basic Statistics and Probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 What is a statistic? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Population versus sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Central Limit Theorem in R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Unbiasedness and efficiency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Probability basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Random variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Probabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Probability distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Bayes versus frequentist approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Simulations of coins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 On the use of RStan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5 Intermediate Statistics and Probability . . . . . . . . . . . . . . . . . . . . . . . . . 91 Random process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Stock price distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Stationarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Determining stationarity with urca . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Assumptions of normality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Filtering data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 R formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 The linear in linear regression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Volatility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 6 Spreads, Betas and Risk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Defining the stock spread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Ordinary Least Squares versus Total Least Squares . . . . . . . . . . . . . . . . . 121 Constructing the spread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Signal generation and validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Trading the spread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Considering the risk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 More on the equity curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Strategy attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 7 Backtesting with Quantstrat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Backtesting methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 About blotter and PerformanceAnalytics . . . . . . . . . . . . . . . . . . . . . . . 149 Contents ix Initial setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 The first strategy: A simple trend follower . . . . . . . . . . . . . . . . . . . . . . . 151 Backtesting the first strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Evaluating the performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 The second strategy: Cumulative Connors RSI . . . . . . . . . . . . . . . . . . . . 162 Evaluating the mean-reverting strategy . . . . . . . . . . . . . . . . . . . . . . . . . 168 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 8 High-Frequency Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 High-frequency quotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Inter-quote arrival times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Identifying liquidity regimes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 The micro-price . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Distributions and autocorrelations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 The highfrequency package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 9 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Option theoretical value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 A history of options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Valuation of options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Exploring options trade data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Implied volatility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 10 Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 The motivating parabola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Newton’s method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 The brute-force approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 R optimization routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 A curve-fitting exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Portfolio optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 11 Speed, Testing, and Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Runtime execution improvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Benchmarking R code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 The Rcpp solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Calling R from C++ with RInside . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Writing unit tests with testthat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Using knitr for documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

ادامه ...
برای ارسال نظر لطفا وارد شوید یا ثبت نام کنید
ادامه ...
پشتیبانی محصول

۱- در صورت داشتن هرگونه مشکلی در پرداخت، لطفا با پشتیبانی تلگرام در ارتباط باشید.

۲- برای خرید محصولات لطفا به شماره محصول و عنوان دقت کنید.

۳- شما می توانید فایلها را روی نرم افزارهای مختلف اجرا کنید(هیچگونه کد یا قفلی روی فایلها وجود ندارد).

۴- بعد از خرید، محصول مورد نظر از صفحه محصول قابل دانلود خواهد بود همچنین به ایمیل شما ارسال می شود.

۵- در صورت وجود هر مشکلی در فرایند خرید با تماس بگیرید.