Giter VIP home page Giter VIP logo

Comments (4)

ryankennedyio avatar ryankennedyio commented on May 26, 2024

Exploring sentiment analysis would be fun with a lot of the open-source NLP libraries now available.

Guess we'd implement a "NEWS" event that the backtester or live engine could also handle, which could be passed to a strategy in the same way.

Most providers I've seen pass "NEWS" tick events with a simple URL link?

That might lead to something which will have to be tackled eventually; how to run multiple strategies concurrently?

from qstrader.

mhallsmoore avatar mhallsmoore commented on May 26, 2024

Ryan,

Your last comment is an interesting point actually. In the fund I used to work at the model we used consisted of a top-level portfolio that allocated funds to a set of strategies, with proportionality of funds decided by an additional algorithm.

Some of the strategies would have counteractive orders (e.g. Strat #1 would long a security by a certain amount while Strat #2 would short it by a certain amount) and thus we needed to net out the difference to avoid unnecessary trades (and thus transaction costs).

It does however make it difficult to discuss individual strategy performance and thus it is sometimes best to talk about overall portfolio performance. All prop trading houses have this problem and they often have centralised risk management to make sure the firm itself is not too far long/short in a particular asset or direction.

from qstrader.

ryankennedyio avatar ryankennedyio commented on May 26, 2024

Great Mike, glad to hear what I was thinking is roughly in line with standard practice.

One thought I had was to allow a reference from a Position to a Strategy, or vice-versa. This should only be a few lines, which keeps complexity low, and could allow for things like the RiskManager to see how much capital is allocated to each strategy just by looping through the Positions in the Portfolio.

Either way, I guess in the simplest implementation, a backtest or live-loop would be passed a list of Strategies, rather than just one, and pass the events along to each of those strategies. That kind of computation scales out nicely, so Python's multiprocessing would make that quite efficient.

from qstrader.

femtotrader avatar femtotrader commented on May 26, 2024

A simple DisplayStrategy which will print ticks, bars is also necessary. See #41

from qstrader.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.