My name is Ilya Kipnis. I am a data scientist, systematic trader, and quantitative research analyst.

I was inspired to write this blog via interactions with Brian Peterson, Joshua Ulrich, Kent Hoxsey, and professors/RenTec alumni I have interacted with at Stony Brook Quantitative Finance (Dr. Robert J. Frey and Dr. Andrew P. Mullhaupt)

This blog will be an investigation into various problems that interest me in data science, quantitative finance, systematic trading, and asset management.

You can find my github here.

I am committed to continuous learning in data science, systematic trading, and quantitative finance through online courses, books, and articles.

I have previously worked in quantitative analysis for trading, ‘big data’ analytics, and asset management. I am interested in networking, along with other full-time opportunities in data science or finance, and may be reached at my gmail address.

My LinkedIn profile is here.

Lastly, if you want to subscribe to my systematic volatility trading strategy which had a very successful March of 2020 by capturing the long volatility move, you can do so here.

### Like this:

Like Loading...

Nice Blog! I have added it to my netvibes aggregator.

A

Extremely helpful blog. Is it possible to test an opening range breakout system in quantstrat?

So long as you’re able to formally, objectively, and quantitatively define your indicators, signals, and rules, it is possible (though not always trivial) to test something.

I wondering which programm are you using for your quant analysis? Matlab? R?

R

It is clear that R is a strong contender when faced with the others (Matlab, Python, etc) – but can you please elaborate a bit more the answer?

And can you also please explain how strong is R in following topics:

1) integration with execution platforms

2) backtesting types supported (is walk forward supported and how flexible is it compared to things like AmiBroker, TradeStation, Multicharts, etc)

3) any capabilities regarding machine learning?

Thanks!

1) I believe R integrates with IBrokers. Up to you to do that homework, though.

2) As flexible, if not more so.

3) R is the go-to language for machine learning, actually.

Hi. I recently came across your blog after recently joining firm that runs many different quantitative strategies in the equity markets. I’ve always been a trader but it’s only ever been as an execution trader.

Can you please recommend a few entry level books/videos/courses for someone like me. Thanks again.

Mj

Which firm?

Beyond that, I’d recommend Norman Matloff’s book (The Art of R programming). Beyond that, try datacamp’s free stuff.

Hey I was just wondering, is there any way i can possibly do automated trading using r? I’m trading bitcoins and as it is an extremely volatile asset, it’s really hard to apply a strategy manually

I hear interactive brokers has an R plugin. You’d have to look into that yourself.

So when you trade you do everything manually? how many time per day / week do you have to run your program for the strategy that requires you to do it the most frequently? approx. thanks!

This is all research for me so far.

I really enjoy the rigor you bring as a “quant”, and will try to keep up with your blog. I posted the following observation on your recent FAA article on Wesley Gray’s site:

********

As a newcomer to this forum, but as one who’s explored momentum-based strategies for some time on his own, I’m quite interested in this multi-dimensional ranking concept. One observation I have is that the existence of overall ranking ties is due to the structure of the chosen values for the weights (1, 0.5, 0.5). If you were to choose weights that were not small-integer multiples (e.g. 1, 0.499, 0.501) you’d have no ties and you’d lose the “tie” argument for excluding the risk-free asset. I’d be very interested in seeing the results of small variations in the weights around the (1,0.5,0.5) point to always resolve ties in favor of one of the three dimensions. I suspect that the slight improvement from excluding cash on ties lies within the performance range with small weight perturbations and that we’re heavily influenced by a few “lucky” inclusion/exclusion choices.

********

I’m very interested in exploring FAA for myself, but am not quite ready to learn R. I’ll rather beat the Excel horse until I’m quite sure it’s dead. I understand that use a 4-month period for momentum, but what about volatility (SD) and correlation? Do you use daily data? I know making too many a priori parameter choices begins to smack of data mining, but looking at performance under parameter variations might reduce concerns a bit. I’m also unwilling to make conclusions based on small performance changes – using a log return plot usually shows that these changes are due to a small number of trades. I like to refer to “the law of small numbers”.

Thanks again for all your research and your willingness to share it.

God Work. Congratulations.

I expect in next year change some ideas.

Thanks

José

Ilya, thanks for the insights. What data source(s) do you use for your R routines?

Yahoo. Number one rule is people must be able to replicate my analyses.

Hi,

Enjoy the blog – very interesting.

I was wondering if you could provide a simple example on how to use quantstrat to execute on the bid / offer. I appreciate it’s a next bar execution system but lets say I’m building signals based on 1 second bars my preference for realistic execution would involve hitting / lifting.

Would really appreciate an example to review.

Regards,

Dave

Considering I don’t have access to such data, no. You might ask on the R-SIG-Finance mailing list, but again, you’d have to provide a minimum reproducible example, meaning, again, providing the data.

Thank you for the swift response. I’ll post an example to the mailing list

very much enjoyed your step by step instructions and insights and experience with the quantstrat package which I’m using in our trading systems course at UW that actually uses R with IB. I’m taking my next class from B. Peterson on advanced trading..

Pingback: Getting Started: Building a Fully Automated Trading System. – Quants Portal

Hi Ilya,

Thanks for sharing your work, this is very impressive.

I am a physicist and an investment banking quant for some years now. I also enjoy developing quant strategies in my own time and am working mostly in R.

I will follow your blog and would like to see more on enhancing speed of optimisations in quantstrat.

Hi Ilya! Great blog, congratulations

I’m taking your course on quantstrat in DataCamp. How easy is it to combine quantstrat with machine learning methods? Specifically, can the indicators and signals come from machine learning algorithms such as SVMs and neural nets?

Of course.

Thanks!

This is the first time I get in your blog, and I loved it! Thank you for all your sharing. I just have one question, Does a Quant (with a good strategy) needs to be part of an institution to make a living out of trading or can she be a lone-wolf and make a decent buck? Thank you!

I’m of the opinion that a quant at an institution might get a terrific salary, but institutional constraints don’t allow for the best individual trading profits. I know that when I worked at Graham Capital, I had to get every single transaction approved, and could only trade the same security once every 30 days, which would make actually trading my volatility strategy impossible. Furthermore, I think small investors can move much more quickly than large institutions since they don’t impact the market as much. I.E. if you want to sell $100,000 of SPY, that’s a lot different than selling $1,000,000,000 of it.

Thank you so much for your answer! It reassures me that this is the path that I want to take. I’ll keep pushing forward and I hope some day we can meet on the field. Best Regards!

Hi Ilya,

I recently found your blog and was attempting some exercises but I discovered that the quantstrat package is not available for the most recent version of R. How are you able to continue to use it?

Would I have to install a previous version when this package was available?

Thanks

Braverock’s Github

what is your email i want to contact you

ilya.kipnis@gmail.com

Hi Ilya,

Great blog. Started getting my feet wet with Quanstrat. i couldn’t find answer anywhere regarding using quantstrat signals for trade execution. I am not looking for full automated trading. If I have to implement trade execution do I have to run my strategy every day after market close and enter trade manually next day if there is a signal. I only trade based on daily bars and no intraday trading. Thanks for your response.

applyIndicators and applySignals is what you want to look at.

I am student of China. And I found the package “quantstrat” is powerful when backtesting quantitative finance models.

Recently, when I am modeling with a small model, which compare the dividend yield of stocks with treasury bond yield and buys the larger one.

However, the stock with largest dividend yield is time-varing. This means the stock in my portfolio is always changing. I have read almost all the material on the web, including github, stackoverflow and so on, but cannot come up a solution.

I wander if you can provide a samll example with the time-varing stock list or in which step I can update my portfolio(add.signal？add.rule?)

Looking forward for your help!

That isn’t a problem to use quantstrat for. Relative momentum strategies you want to use return space and performance analytics for. That, or simply create a time series that say a given stock is the one you want to be invested in right now and append it as an indicator.

Thank you very much. I have understood your advice

Pingback: How To Create An Online Automated Trading System With Zero Knowledge • eHelpify

Hi Ilya,

are part of R/Finance community? I’m interested to find out if you guys have some kind of internet forum where you discuss ideas about finance stuff in R.

There’s an R-Finance channel in freenode in MIRC.

I’ll check it out. Thanks Ilya.