Course Code
rfintrading
Duration
21 hours (usually 3 days including breaks)
Requirements
- A basic understanding of finance concepts
- A solid grasp of mathematics
- Basic programming experience
Overview
R is a popular programming language in the financial industry. It is used in financial applications ranging from core trading programs to risk management systems.
In this instructor-led, live training, participants will learn the basics of financial trading as they step through building and implementing basic trading strategies and actions in R using quantstrat.
By the end of this training, participants will be able to:
- Understand the fundamental concepts in trading
- Create and implement their first trading strategy using R
- Analyze the performance of their strategy using R
Audience
- Programmers
- Finance professionals
- IT Professionals
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Course Outline
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