aik3e
aik3e

Reputation: 131

How to use own data with quantstrat and quantmod?

I am learning quantstrat and is working on a project where I use a local csv file which I exported from metatrader5. I managed to load the data into an xts object and called it fulldata_xts of which I have created subsets bt_xts and wf_xts for the backtest and walk forward respectively. Below is the head of fulldata_xts. I have added the other columns other than the standard OHLCV.

                        EURUSD.Open EURUSD.High EURUSD.Low
2010-01-03 16:00:00     1.43259     1.43336    1.43151
2010-01-03 17:00:00     1.43151     1.43153    1.42879
2010-01-03 18:00:00     1.42885     1.42885    1.42569
2010-01-03 19:00:00     1.42702     1.42989    1.42700
2010-01-03 20:00:00     1.42938     1.42968    1.42718
2010-01-03 21:00:00     1.42847     1.42985    1.42822
                    EURUSD.Close EURUSD.Volume EURUSD.Vol
2010-01-03 16:00:00      1.43153           969          0
2010-01-03 17:00:00      1.42886          2098          0
2010-01-03 18:00:00      1.42705          2082          0
2010-01-03 19:00:00      1.42939          1544          0
2010-01-03 20:00:00      1.42848          1131          0
2010-01-03 21:00:00      1.42897          1040          0
                    EURUSD.Spread EURUSD.Year EURUSD.Month
2010-01-03 16:00:00            12        2010            1
2010-01-03 17:00:00            15        2010            1
2010-01-03 18:00:00            15        2010            1
2010-01-03 19:00:00            14        2010            1
2010-01-03 20:00:00            15        2010            1
2010-01-03 21:00:00            14        2010            1
                    EURUSD.Day EURUSD.Weekday EURUSD.Hour
2010-01-03 16:00:00          4              2           0
2010-01-03 17:00:00          4              2           1
2010-01-03 18:00:00          4              2           2
2010-01-03 19:00:00          4              2           3
2010-01-03 20:00:00          4              2           4
2010-01-03 21:00:00          4              2           5
                    EURUSD.Session EURUSD.EMA14
2010-01-03 16:00:00              0           NA
2010-01-03 17:00:00              0           NA
2010-01-03 18:00:00              0           NA
2010-01-03 19:00:00              0           NA
2010-01-03 20:00:00              0           NA
2010-01-03 21:00:00              0           NA
                    EURUSD.EMA14_Out
2010-01-03 16:00:00                0
2010-01-03 17:00:00                0
2010-01-03 18:00:00                0
2010-01-03 19:00:00                0
2010-01-03 20:00:00                0
2010-01-03 21:00:00                0

I am trying to create my own indicator using the following code:

add.indicator(strategy1.st, name = sentiment,
     arguments = list(date = quote(Cl(mktdata))), 
     label = "sentiment")

I have based the above code from a course on datacamp but is similar to what is being discussed here. My questions are:

  1. How can I specify my own data i.e. bt_xts on the code above. Please correct me if I am wrong but from what I gather, the mktdata object gets created when the data is downloaded using quantstrat facilities which is not applicable on my case since I read the data off of csv and converted it to data table then to an xts object.
  2. The function sentiment on the inside the add.indicator code above for now only functions returns 0,1,2 (stay out, bullish, bearish) based on day of week. I plan to develop this further once I get the other part of the strategy working. This function takes in a variable date hence the arguments = list(date = quote(Cl(mktdata))) part is incorrect. What should I put inside the quote() to specify the date column of my data, bt_xts?

Upvotes: 1

Views: 94

Answers (0)

Related Questions