Vectorized vs Event Driven Backtesting

This is a discussion on Vectorized vs Event Driven Backtesting within the Techies Corner forums, part of the Trading Career category; Originally Posted by NetTecture If you do not isolate strategies for backtesting and optimization you are an idiot - or ...

Reply
 
LinkBack Thread Tools Search this Thread
Old Apr 6, 2015, 8:06am   #9
 
malaguti's Avatar
Joined Nov 2009
Quote:
Originally Posted by NetTecture View Post
If you do not isolate strategies for backtesting and optimization you are an idiot - or love burning money.
.
isolate strategies for backtesting of course, but your comment was that you were isolating a strategy per instrument

"Make strategies independent per instrument" was your comment

that would make potentially 2000 strategies on the Russell 2000 if that was your market for example
malaguti is offline   Reply With Quote
Old Apr 6, 2015, 8:10am   #10
Joined Mar 2009
Yes. That would be 2000 strategy instances, running separtely as per the settings of risk management. Obviously an issue with most software that is woefully designed to be non-.manageable for anyone running more than a handfull of strategies
NetTecture is offline   Reply With Quote
Old Apr 6, 2015, 8:57am   #11
 
malaguti's Avatar
Joined Nov 2009
Quote:
Originally Posted by NetTecture View Post
Yes. That would be 2000 strategy instances, running separtely as per the settings of risk management. Obviously an issue with most software that is woefully designed to be non-.manageable for anyone running more than a handfull of strategies
And thats what I would disagree with. I have multiple strategies per market
If the strategy doesn't work for the market I wouldn't trade it on an individual instrument even if it was profitable.
We clearly have differing opinions Net, but it doesn't make another money burning idiots

I would agree about software being woeful, however I am able to run these multiple strategies, which have independent market filters, conditions, sector bias and portfolio risk management across 700 in just minutes, on a simple laptop.
If I were to replicate 700 strategies it would take me weeks to create.
i guess it just depends on the software and what its running and more importantly how its logic in creating the strategy works. The processing time is simply the number crunching through the data. if the data can be cached and not reloaded then that too saves hours
malaguti is offline   Reply With Quote
Old Apr 6, 2015, 10:15am   #12
Joined Mar 2009
With all respect, you misunderstand me (on purpose?)

I called it a fool to run everything in one strategy because of a total lack of optimization possibilitiesn regards to - processing time. I am not sure what planed you live on, but on my world I have to pay for electricity. And processing power is not unlimited. So, a strategy trading 500 instruments that needs reoptimization regularly is a lot more expensive than 500 copies of the strategy each trading one instrument. WIth the reasons given. For development, I can save a llot of processing time. Which IS Money.

We also run multiple strategies per market. But it is never "multiple symbols in the same strategy instance". Trading 5 instruments with one strategy? That is 5 copies of the strategy running, independent.

And risk management in a portfolio approach may not be something individual strategies do. For example, I work on a new risk management module now that will limit exposure. You MAY have 2000 strategy instances, but at the same time the risk system may limit the total exposure to 50 positions. Strategy 51 that "wants to go long" will do so on a simulator (thanks to risk management). RIsk management should IMHO never be IN The strategies, of for no other reason than for risk management (code wise). I rather have a central module that gets less often code changed than "a strategy" in general look after my risk exposure.
NetTecture is offline   Reply With Quote
Old Apr 6, 2015, 10:51am   #13
 
malaguti's Avatar
Joined Nov 2009
Quote:
Originally Posted by NetTecture View Post
With all respect, you misunderstand me (on purpose?)

I called it a fool to run everything in one strategy because of a total lack of optimization possibilitiesn regards to - processing time. I am not sure what planed you live on, but on my world I have to pay for electricity. And processing power is not unlimited. So, a strategy trading 500 instruments that needs reoptimization regularly is a lot more expensive than 500 copies of the strategy each trading one instrument. WIth the reasons given. For development, I can save a llot of processing time. Which IS Money.

We also run multiple strategies per market. But it is never "multiple symbols in the same strategy instance". Trading 5 instruments with one strategy? That is 5 copies of the strategy running, independent.

And risk management in a portfolio approach may not be something individual strategies do. For example, I work on a new risk management module now that will limit exposure. You MAY have 2000 strategy instances, but at the same time the risk system may limit the total exposure to 50 positions. Strategy 51 that "wants to go long" will do so on a simulator (thanks to risk management). RIsk management should IMHO never be IN The strategies, of for no other reason than for risk management (code wise). I rather have a central module that gets less often code changed than "a strategy" in general look after my risk exposure.
I give up..you can live in your own little candle lit world running strategies per instrument blind to the fact that there is software out there than can easily be run in minutes without unlimited processing speed potentially saving you of your electricity and your time
if Kojinakata would like to discuss sensible solutions you're free to PM me
malaguti is offline   Reply With Quote
Old Jan 29, 2016, 10:30pm   #14
Joined Jul 2015
When you use vectorization - you apply operations to an entire array (or a large section of it) at a time, as opposed to 1 element at a time. Vectorization approach allows much faster calculations (compared to event-driven) using specifically-optimized libraries and tools (such as R, Matlab, etc..).

However, in order to use vectorization - you need a complete set of data / time series, which is obviously not available during real/live trading, where you get new data ticks one at a time. Therefore, for real/live trading you can only use event-driven approach (where an event is arrival of a new data tick or data bar..). Therefore, if you use vectorized code for backtesting - you cannot use the same code in real-live trading, while if you have event-driven code - you can.
systematics is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Similar Threads
Thread Thread Starter Forum Replies Last Post
Is there a list of Technology - Driven Hedgefunds in London? Simon Daniels First Steps 0 Jul 23, 2012 11:22am
price driven strategies Christiaan Forex 7 Aug 26, 2009 2:25pm
Speculator VS Commercial/Hedger driven markets MrMiyagi General Trading Chat 8 Feb 25, 2009 1:54pm
quote/order driven markets???? tonyjai First Steps 17 Mar 23, 2005 12:21am

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)