Introduction
Understanding the Basics of Trading
Overview of Trading
Understanding the Philosophies of Trading
Overview of Various Trading Systems
Learning the Pitfalls in Trading
Avoiding Overfitting
Obtaining Financial Data
Plotting Financial Data
Adding Indicators to Your Data
Adding Moving Averages to Your Data
Creating Your First Strategy in Quantstrat
Overview of the Quantstrat Package
Initializing Your Data
Initializing Time Zone and Currency
Importing Data
Initializing Data Using stock()
Setting the Trade Size
Setting Initial Equity
Setting Your Account, Portfolio, and Strategy
Using the rm.strat() Command
Initializing Your Portfolio
Initializing Your Account
Initializing Your Orders
Storing Your Strategy
Using Indicators
Introduction to Indicators
Implementing the Simple Moving Average (SMA) Indicator
Implementing the Relative Strength Index (RSI) Indicator
Visualizing Indicators
Identifying Indicator Types: Trend or Reversion
Implementing Pre-Written Indicators
Coding Your Own Indicator
Using RSI Averages
Implementing the David Varadi Oscillator (DVO)
Implementing Your Own Indicator
Using Signals in Quantstrat
Overview of Signals and Signal Types
Implementing the sigComparison Signal
Implementing the sigCrossover Signal
Implementing the sigThreshold Signal
Using the sigFormula() Function
Combining Signals
Using Rules
Overview of Trading Rules
Using the add.rule() Function
Implementing an Exit Rule
Using the Argument sigcol in the add.rule() Function
Using the Argument sigval in the add.rule() Function
Specifying Order Quantity
Specifying Order Type
Specifying Order Side
Using the Argument replace in the add.rule() Function
Using the Argument prefer in the add.rule() Function
Implementing an Entry Rule
Using Order Sizing Functions
Analyzing Trading Results
Understanding How to Analyze Your Strategy's Performance
Running Your Strategy
Exploring the Profit Factor
Using the Percent Positive Statistic
Visualizing Your Chart Positions
Adding Indicators to Your Chart Positions Plot
Calculating the Cash Sharpe Ratio
Calculating the Returns-Based Sharpe Ratio
Troubleshooting
Summary and Conclusion
Closing Remarks