si g n a l s i n tro d u cti o n toen viro n men t ( 50- d ay sm a ab o ve 200- d ay sm a ) make s u...
TRANSCRIPT
![Page 1: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/1.jpg)
Introduction tosignals
F I N A N C I A L T R A D I N G I N R
Ilya KipnisProfessional Quantitative Analyst and Rprogrammer
![Page 2: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/2.jpg)
FINANCIAL TRADING IN R
What are signals?Signals are the interactions of:
Market data with indicators
Indicators with other indicators
Examples:
50-day MA crossing over 200-day MA
Oscillator crosses under 20
Signal is necessary (but not suf�cient) for buy/sell order
![Page 3: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/3.jpg)
FINANCIAL TRADING IN R
Using add.signal()Very similar to the process for creating indicators
Only a few signal functions
add.signal(strategy.st, name = “function",
arguments = list(arguments), label = "label")
Again, similar to apply family
![Page 4: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/4.jpg)
FINANCIAL TRADING IN R
Four types of signalssigComparison : Relationship between two indicators, returns 1 if
relationship is true
sigCrossover: Similar to sigComparison, returns 1 on the �rst
occurrence
sigThreshold: Compares range-bound indicator to a static quantity
sigFormula: Flexible signal function
![Page 5: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/5.jpg)
FINANCIAL TRADING IN R
Examples
![Page 6: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/6.jpg)
FINANCIAL TRADING IN R
Examples
![Page 7: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/7.jpg)
Let's practice!F I N A N C I A L T R A D I N G I N R
![Page 8: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/8.jpg)
sigComparison andsigCrossover
F I N A N C I A L T R A D I N G I N R
Ilya KipnisProfessional Quantitative Analyst and Rprogrammer
![Page 9: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/9.jpg)
FINANCIAL TRADING IN R
Trend indicatorssigCrossover and sigComparison
Both compare two variable quantities
Example:
shorter lookback MA crosses over longer lookback MA (50-day
versus 200-day SMA)
![Page 10: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/10.jpg)
FINANCIAL TRADING IN R
Structureadd.signal(strategy.st, name = "sigComparison",
arguments = list(columns = c("str1", "str2"),
relationship = "lt" ),
label = "siglabel")
add.signal(strategy.st, name = "sigCrossover",
arguments = list(columns = c( "str1", "str2"),
relationship = "eq"),
label = "siglabel")
“gt”, “lt”, “eq”, “lte”, “gte”
![Page 11: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/11.jpg)
FINANCIAL TRADING IN R
Structureadd.signal(strategy.st, name = "sigCrossover", arguments = list(columns = c("SMA50", "SMA200"), relationship = "gt"), label = "longfilter")
add.signal(strategy.st, name = "sigComparison", arguments = list(columns = c("SMA50", "SMA200", relationship = "lt" ), label = "filterexit")
![Page 12: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/12.jpg)
FINANCIAL TRADING IN R
Examples
![Page 13: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/13.jpg)
Let's practice!F I N A N C I A L T R A D I N G I N R
![Page 14: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/14.jpg)
sigThresholdF I N A N C I A L T R A D I N G I N R
Ilya KipnisProfessional Quantitative Analyst and Rprogrammer
![Page 15: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/15.jpg)
FINANCIAL TRADING IN R
About sigThresholddeals with bounded indicators interacting with critical (and usually
�xed) values
Examples:
when the DVO crosses under 20
on indicator with running probability value (between 0 and 1)
on rolling ratio’s that center on 0
![Page 16: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/16.jpg)
FINANCIAL TRADING IN R
Structure
add.signal(strategy.st, name = “sigThreshold",
arguments = list(column = "str1",
threshold = 20,
cross = TRUE,
relationship = "lt" ),
label = "siglabel")
cross = TRUE mimics sigCrossover
cross = FALSE mimics sigComparison
![Page 17: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/17.jpg)
FINANCIAL TRADING IN R
Examplesadd.signal(strategy.st, name = “sigThreshold",
arguments = list(column = "DVO_2_126",
threshold = 20,
cross = FALSE,
relationship = “lt"),
label = "thresholdfilter")
add.signal(strategy.st, name = “sigThreshold",
arguments = list(column = "DVO_2_126",
threshold = 80,
cross = TRUE,
relationship = "gt"),
label = "thresholdfilter")
![Page 18: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/18.jpg)
FINANCIAL TRADING IN R
Examples
![Page 19: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/19.jpg)
Let's practice!F I N A N C I A L T R A D I N G I N R
![Page 20: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/20.jpg)
sigFormulaF I N A N C I A L T R A D I N G I N R
Ilya KipnisProfessional Quantitative Analyst and Rprogrammer
![Page 21: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/21.jpg)
FINANCIAL TRADING IN R
About sigFormulaCatch-all signal allowing for combinations of signals
Uses string evaluation
Example:
ONLY act upon oscillator signaling if favorable market
environment (50-day SMA above 200-day SMA)
make sure to buy a temporary pullback, not a large decline
![Page 22: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/22.jpg)
FINANCIAL TRADING IN R
Structureadd.signal(strategy.st, name = "sigFormula", arguments = list(formula = "statement1 & statement2”, cross = TRUE), label = "yourlabel")
Base R: if( statement 1 and statement 2)
add.signal(strategy.st, name = "sigFormula", arguments = list(formula = "regular logical statement inside an if statement", cross = TRUE), label = "yourlabel")
![Page 23: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/23.jpg)
FINANCIAL TRADING IN R
Example
add.signal(strategy.st, name = “sigFormula",
arguments = list(formula = "longthreshold &
longfilter", cross = TRUE),
label = "longentry")
make sure that the columns in the logical statement are in the
strategy prior to the sigFormula signal call
![Page 24: si g n a l s I n tro d u cti o n toen viro n men t ( 50- d ay SM A ab o ve 200- d ay SM A ) make s u re t o b u y a t emp o rary p u llb ack, n o t a large d eclin e F I NA NCI A L](https://reader034.vdocuments.mx/reader034/viewer/2022042320/5f0993107e708231d4277b63/html5/thumbnails/24.jpg)
Let's practice!F I N A N C I A L T R A D I N G I N R