9

If your strategy truly has no directional bias, then the benchmark should be cash (ie whatever you would earn using the capital in your trading account and taking no risk).


6

You could compare it, over the historical period of interest, to 1000 randomly generated VIX strategies which are: Flat on 60 Percent of days (randomly chosen days) Long VIX futures on 20% of days Short VIX futures on 20% of days (You would adjust these percentages to the characteristics of your strategy. I guessed these values from your comment). The ...


6

If you are market making equities or futures you tend to make your profits over the short term by flipping your inventory. So if I'm showing 3.00 bid at 3.01 ask on a stock I'm going to tend to flip it pretty quickly for 0.01 profit. The guys that bought and sold from me may make/lose money depending on the length of their holding period and market direction....


6

Python has lots of excellent libraries to compute Technical indicators for you, ta and ta-lib are great. These libraries have dozens of indicators to use and their documentation is extremely detailed. Furthermore, these libraries are built on top of Pandas which helps in regards to pivot tables and db schema. The libraries are quick to run and very accurate ...


5

I think it's best to learn generic C++. Most of the firms hiring for quant Dev roles usually need good general programming skills and interest in the markets. If you're learning for personal trading I'd say learn Python and for that any Data Science course that includes coding algorithms from the scratch (not through libraries) would suffice.


5

If you are developing this strategy to use personally, I would benchmark it against your next best option. If the strategy has been developed to attempt to manage other peoples money I would benchmark it against the HFRX RV: Volatility Index. This is an index of alternatives that a Vol investor would consider versus investing in your strategy. From HFRX ...


4

If you already have a strategy generating potential long and short positions, you may want to check Chapter 10 of Marcos López de Prado's book Advances in Financial Machine Learning. It describes a number of strategies that include a budgeting approach where you only rely on the number of concurrent long and short positions to optimize position sizing. If ...


4

As clarified by you in the comments, I haven't come across duplicate tickers at least not in Bloomberg or the Indian exchange websites. Example of GOOG and GOOGL mentioned in the comment, represent Alphabet Inc Class C and Alphabet Inc Class A respectively. Class A shareholders enjoy voting rights whereas Class C shareholders don't (see here). Hence there ...


4

It is good for beginner to start with fundamentals. It can be a book "Systematic Trading: a unique new method for..." by Robert Carver (2015). Then it is good to read/listen to Ernest P. Chan, really great advisor and writer. And after that you will be able to inference for yourself about new strategies and forecast generators.


3

The first observation I make is that the proportion of variance is not very high for the first PCs, with the implication that I would hypothesise that the PCs are not very stable, nor reliable. (You can test this by varying the sample period and analysing the consistency of the PCs) If the PCs are not stable from period to period then information you can ...


3

It depends what you are doing: asset allocation, classifier/regression modelling, etc. In any case can shift the weights of the allocation, change the regressors, etc. Nevertheless, it belongs to the family of backtesting sampling bias.


3

Carry is typically only associated with known cashflows - its closely related cousin, roll, is typically associated with unknown cashflows, assuming the state of the world is unchanged. Given this, carry is typically only analyzed for the current period of the swap or bond. If we assume your swaps are fixed Semi vs a 6m Ibor index, then the natural period ...


3

The justification for that microprice is empirical, not theoretical. In most market I can think of, most of the time, if there are more orders and more size on the bid than the ask, then it's more likely that that BBO will tick up rather than down. And the greater the imbalance, the higher the probability of an uptick (and vice-versa for downticks). For ...


3

The Fama-French factors follow from simple sorting procedures, so they do not explicitly control correlation. But if you have access to the underlying stocks, you could replace this sorting procedure by an optimisation model that looks for a portfolio similar to the traditional Fama-French sort portfolio, but with a constraint on correlation between this ...


3

There is an R interface to Quantopian Zipline called flyingfox. Here is a blog post from its creator.


3

For introduction to algo trading, market microstructure, limit order book data, also be aware of errors strategists make when inferring performance from naive poorly-designed backtests, Kaufman (2013) Trading Systems and Methods Kissell (2014) The Science of Algorithmic Trading and Portfolio Management de Prado (2018) Advances in Financial Machine ...


3

Hands on Machine Learning for Algorithmic Trading by Jansen is a good book too. Granted, whilst it focuses more on the ML side and is a rather thick book, it has great depth and explanation on some libraries used too.


3

You said you're developing an algorithmic trading system. First, I'd suggest maybe consider an off-the-shelf product that will let you do some trading without starting from square one to save yourself time/hassle. Now to the question at hand - use python. A SQL database's role is to store and serve relational data. The majority of the trading system is ...


3

In Dealing with the inventory risk: a solution to the market making problem (preprint available at arxiv) we extend the approximation proposed by Marco and Sasha to a rigorous mathematical framework and provide exact steady-state approximation. The bid-ask spread that should be quoted is $$\psi(q;k,\gamma):=-\frac{1}{k}\ln\frac{f^0_{q-1}f^0_{q+1}}{(f^0_{q})^...


3

It’s likely the gets and decoding are where the time is spent. If you want to speed this up, run the three gets in parallel instead of in serial, then make that calculation. C or C++ can be faster, but here it’s more about the code than the language.


2

You have to consider seriously to use portfolio construction, at least for risk management purposes. To start with, you should "backtest" the risk you are taking with your current "proportional strategy". What would have been: the volatility of your portfolio (ie your aggregated positions) in the past? your maximum loss (max draw down) in the past with this ...


2

Its called 'universal' because, unlike usual models trained on time series for a given stock/ contract, this model is trained on a POOLED data set (in this case 500 or so stocks) and is then shown to be applicable for forecasting any stock, including those not included in the training data. This is different from the usual approach where, say, you use time ...


2

The "magic" in Cover is the rebalancing effect across all of the multiplicities of all the possible portfolios. At least, assuming, or at least allowing for, infinite time. In its presented form, take 2 securities and construct 101 portfolios, each containing 0-100% integer proportions of either. AND REBALANCE ALL OF THOSE MINUTELY / HOURLY / DAILY / ...


2

Alpha Model: First and foremost is an alpha model that forecasts excess return of stocks in Investment process. If return distribution is characterized by the expected return and the standard deviation, it is often the expected return that determines whether we buy or sell, overweight or underweight, and the standard deviation that determines the size ...


2

@Dhruv Mahajan makes a good point in my opinion. @LuigiBallabio in the comments is speaking from a position of authority here as he is the lead developer of QuantLib. If you want to learn C++ and Pricing at the same time you can try C++ Design Patterns and Derivatives Pricing (Mathematics, Finance and Risk) by Mark Joshi. However, since that books has been ...


2

I think the given python code snippet is composed according to the following steps: \begin{equation} var(\tau) = \left< |z(t+\tau)-z(t)|^2 \right> \thicksim \tau^{2H} \end{equation} \begin{equation} \Rightarrow var(...)\thicksim \tau^{2H} \end{equation} \begin{equation} \Rightarrow std(...) \thicksim \tau^{H} \end{equation} \begin{equation} \...


2

Assume on a date t, your pair trading strategy said trade the pair: A and B, say go long A, and short B. By definition of the pair strategy, it is very likely that the price of A declined whereas that of B increased in the previous period; so from pair trading perspective, A is cheaper, whereas B is expensive. So we buy A and sell expensive B, expecting A to ...


2

If your signals only become available at market close, you obviously can't execute them in that day's trading session. You have a few options - Try to execute your trades out of market hours with a willing broker (probably a bad idea, you almost certainly won't get good prices) Trade in the opening auction the next day. Trade in the next day's continuous ...


2

IIRC, the signs of the PC are meaningless. +/-'ive doesn't itself tell you anything. Rather, the cross-sectional, absolute max of the PCs will tell you which one is most important per item (eg: PC6 looks most important for Beta: M-3). I think 6.6a and 6.6b in Cochrane's asset pricing touch on this (https://www.youtube.com/playlist?list=...


2

Based on your terminology, it sounds like you're using GEP (gene expression programming), a subtype of GA. Any reason why you wouldn't use pure GA for this? I don't have a ton of experience with GEP, but it generally seems more complicated without adding much more in this context. Otherwise, last question(s) first: The last challenge is that with ...


Only top voted, non community-wiki answers of a minimum length are eligible