This course will cover the basics on financial trading and will give you an overview of how to use quantstrat to build signal-based trading strategies in R. It will teach you how to set up a quantstrat strategy, apply transformations of market data called indicators, create signals based on the interactions of those indicators, and even simulate orders. Lastly, it will explain how to analyze your results both from statistical and visual perspectives.
In this chapter, you will learn the definition of trading, the philosophies of trading, and the pitfalls that exist in trading. This chapter covers both momentum and oscillation trading, along with some phrases to identify these types of philosophies. You will learn about overfitting and how to avoid it, obtaining and plotting financial data, and using a well-known indicator in trading.Why do people trade?50 xpIdentifying types of trading philosophies - I50 xpIdentifying types of trading philosophies - II50 xpIdentifying types of trading philosophies - III50 xpPitfalls of various trading systems50 xpHow to prevent overfitting50 xpGetting financial data50 xpPlotting financial data100 xpAdding indicators to financial data50 xpAdding a moving average to financial data100 xp
A boilerplate for quantstrat strategies
Before building a strategy, the quantstrat package requires you to initialize some settings. In this chapter you will learn how this is done. You will cover a series of functions that deal with initializing a time zone, currency, the instruments you'll be working with, along with quantstrat's various frameworks that will allow it to perform analytics. Once this is done, you will have the knowledge to set up a quantstrat initialization file, and know how to change it.
Indicators are crucial for your trading strategy. They are transformations of market data that allow a clearer understanding of its overall behavior, usually in exchange for lagging the market behavior. Here, you will be working with both trend types of indicators as well as oscillation indicators. You will also learn how to use pre-programmed indicators available in other libraries as well as implement one of your own.Introduction to indicators50 xpThe SMA and RSI functions100 xpVisualize an indicator and guess its purpose - I100 xpVisualize an indicator and guess its purpose - II100 xpIndicator mechanics50 xpImplementing an indicator - I100 xpImplementing an indicator - II100 xpImplementing an indicator - III100 xpIndicator structure review50 xpCode your own indicator - I100 xpCode your own indicator - II100 xpApply your own indicator100 xp
When constructing a quantstrat strategy, you want to see how the market interacts with indicators and how indicators interact with each other. In this chapter you'll learn how indicators can generate signals in quantstrat. Signals are interactions of market data with indicators, or indicators with other indicators. There are four types of signals in quantstrat: sigComparison, sigCrossover, sigThreshold, and sigFormula. By the end of this chapter, you'll know all about these signals, what they do, and how to use them.Introduction to signals50 xpSignal or not? - I50 xpSignal or not? - II50 xpsigComparison and sigCrossover50 xpUsing sigComparison100 xpUsing sigCrossover100 xpsigThreshold50 xpUsing sigThreshold - I100 xpUsing sigThreshold() - II100 xpsigFormula50 xpUsing sigFormula()100 xpCombining signals - I50 xpCombining signals - II100 xp
In this chapter, you'll learn how to shape your trading transaction once you decide to execute on a signal. This chapter will cover a basic primer on rules, and how to enter and exit positions. You'll also learn how to send inputs to order-sizing functions. By the end of this chapter, you'll learn the gist of how rules function, and where you can continue learning about them.Introduction to rules50 xpUsing add.rule() to implement an exit rule100 xpSpecifying sigcol in add.rule()100 xpSpecifying sigval in add.rule()100 xpMore rule mechanics50 xpSpecifying orderqty in add.rule()100 xpSpecifying ordertype in add.rule()100 xpSpecifying orderside in add.rule()100 xpMore rule mechanics II50 xpSpecifying replace in add.rule()100 xpSpecifying prefer in add.rule()100 xpUsing add.rule() to implement an entry rule100 xpOrder sizing functions50 xpImplementing a rule with an order sizing function100 xp
After a quantstrat strategy has been constructed, it's vital to know how to actually analyze the strategy's performance. This chapter details just that. You will learn how to read vital trade statistics, and view the performance of your trading strategy over time. You will also learn how to get a reward to risk ratio called the Sharpe ratio in two different ways. This is the last chapter.
DatasetsSPY data from 2000 through 2016
PrerequisitesIntermediate R for Finance
Ilya KipnisSee More
Professional Quantitative Analyst and R programmer
Ilya Kipnis is a professional quantitative analyst and R programmer. He received his M.S. degree in statistics in 2010 from Rutgers University, and has worked in the financial industry for several years. He is also a co-author in the book "Introduction to Quantitative Trading With R", and an internationally read quantitative research blogger. His work can be found at QuantStrat TradeR.