OVER DEZE AFLEVERING
Algorithmic trading is a field that has grown in recent years due to the availability of cheap computing and platforms that grant access to historical financial data. QuantConnect is a business that has focused on community engagement and open data access to grant opportunities for learning and growth to their users. In this episode CEO Jared Broad and senior engineer Alex Catarino explain how they have built an open source engine for testing and running algorithmic trading strategies in multiple languages, the challenges of collecting and serving currrent and historical financial data, and how they provide training and opportunity to their community members. If you are curious about the financial industry and want to try it out for yourself then be sure to listen to this episode and experiment with the QuantConnect platform for free.
Announcements- Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
- When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to pythonpodcast.com/linode to get a $20 credit and launch a new server in under a minute. And don’t forget to thank them for their continued support of this show!
- And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. With such an intuitive tool it’s easy to make sure that everyone in the business is on the same page. Podcast.init listeners get 2 months free on any plan by going to pythonpodcast.com/clubhouse today and signing up for a trial.
- You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don’t want to miss out on this year’s conference season. We have partnered with organizations such as O’Reilly Media, Dataversity, and the Open Data Science Conference. Coming up this fall is the combined events of Graphorum and the Data Architecture Summit. The agendas have been announced and super early bird registration for up to $300 off is available until July 26th, with early bird pricing for up to $200 off through August 30th. Use the code BNLLC to get an additional 10% off any pass when you register. Go to pythonpodcast.com/conferences to learn more and take advantage of our partner discounts when you register.
- The Python Software Foundation is the lifeblood of the community, supporting all of us who want to run workshops and conferences, run development sprints or meetups, and ensuring that PyCon is a success every year. They have extended the deadline for their 2019 fundraiser until June 30th and they need help to make sure they reach their goal. Go to pythonpodcast.com/psf today to make a donation. If you’re listening to this after June 30th of 2019 then consider making a donation anyway!
- Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email hosts@podcastinit.com)
- To help other people find the show please leave a review on iTunes and tell your friends and co-workers
- Join the community in the new Zulip chat workspace at pythonpodcast.com/chat
- Your host as usual is Tobias Macey and today I’m interviewing Jared Broad and Alex Catarino about QuantConnect, a platform for building and testing algorithmic trading strategies on open data and cloud resources
- Introductions
- How did you get introduced to Python?
- Can you start by explaining what QuantConnect is and how the business got started?
- What is your mission for the company?
- I know that there are a few other entrants in this market. Can you briefly outline how you compare to the other platforms and maybe characterize the state of the industry?
- What are the main ways that you and your customers use Python?
- For someone who is new to the space can you talk through what is involved in writing and testing a trading algorithm?
- Can you talk through how QuantConnect itself is architected and some of the products and components that comprise your overall platform?
- I noticed that your trading engine is open source. What was your motivation for making that freely available and how has it influenced your design and development of the project?
- I know that the core product is built in C# and offers a bridge to Python. Can you talk through how that is implemented?
- How do you address latency and performance when bridging those two runtimes given the time sensitivity of the problem domain?
- What are the benefits of using Python for algorithmic trading and what are its shortcomings?
- How useful and practical are machine learning techniques in this domain?
- Can you also talk through what Alpha Streams is, including what makes it unique and how it benefits the users of your platform?
- I appreciate the work that you are doing to foster a community around your platform. What are your strategies for building and supporting that interaction and how does it play into your product design?
- What are the categories of users who tend to join and engage with your community?
- What are some of the most interesting, innovative, or unexpected tactics that you have seen your users employ?
- For someone who is interested in getting started on QuantConnect what is the onboarding process like?
- What are some resources that you would recommend for someone who is interested in digging deeper into this domain?
- What are the trends in quantitative finance and algorithmic trading that you find most exciting and most concerning?
- What do you have planned for the future of QuantConnect?
- Jared
- @jaredbroad on Twitter
- Alex
- AlexCatarino on GitHub
- @AlexCatx on Twitter
- QuantConnect
- @QuantConnect on Twitter
- Website
- Tobias
- Good Omens book and miniseries
- Jared
- Chernobyl HBO Series
- Alex
- QuantConnect
- LEAN algorithm engine
- Alpha Streams
- Google Spanner
- PyCharm
- Visual Studio Code
- IronPython
- NumPy
- SymPy
- Pandas
- PythonNet
- Tensorflow
- Keras
- Udemy
The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA
LAAT NOTITIES ZIEN 🔗
TRANSCRIPTIE 🔗
NOTE
Transcription provided by Podhome.fm
Created: 7/6/2024 5:13:07 PM
Duration: 3043.470
Channels: 1
1
00:00:13.014 --> 00:00:26.390
Hello, and welcome to podcast dot in it, the podcast about Python and the people who make it great. When you're ready to launch your next app or you want to try a project you hear about on the show, you'll need somewhere to deploy it. So take a look at our friends over at Linode. With 200 gigabit private networking,
2
00:00:26.925 --> 00:00:35.260
scalable shared block storage, node balancers, and a 40 gigabit public network, all controlled by a brand new API, you've got everything you need to scale up.
3
00:00:35.820 --> 00:00:43.679
And for your tasks that need fast computation, such as training machine learning models or running your CI pipelines, they just launched dedicated CPU instances.
4
00:00:44.625 --> 00:00:50.484
In addition to that, they just launched a new data center in Toronto, and they've got 1 opening in Mumbai at the end of 2019.
5
00:00:51.105 --> 00:00:52.324
Go to python podcast.com/linode,
6
00:00:53.745 --> 00:00:54.090
that's
7
00:00:54.570 --> 00:01:02.750
l I n o d e, today to get a $20 credit and launch a new server in under a minute. And don't forget to thank them for their continued support of the show.
8
00:01:03.705 --> 00:01:13.460
And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system that can keep up with you that's designed by software engineers for software engineers.
9
00:01:14.400 --> 00:01:24.395
Clubhouse lets you craft a workflow that fits your style, including per team tasks, cross project epics, a large suite of pre built integrations, and a simple API for crafting your own.
10
00:01:25.575 --> 00:01:30.040
With such an intuitive tool, it's easy to make sure that everyone in the business is on the same page.
11
00:01:30.920 --> 00:01:31.420
Podcast.init
12
00:01:31.720 --> 00:01:35.420
listeners get 2 months free on any plan by going to python podcast.com/clubhouse
13
00:01:36.920 --> 00:01:39.020
today and signing up for a free trial.
14
00:01:39.925 --> 00:01:47.145
And you listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis.
15
00:01:48.110 --> 00:01:53.970
For even more opportunities to meet, listen, and learn from your peers, you don't want to miss out on this year's conference season.
16
00:01:54.565 --> 00:02:00.265
We have partnered with organizations such as O'Reilly Media, Dataversity, and the Open Data Science Conference.
17
00:02:01.365 --> 00:02:05.920
Coming up this fall is the combined events of Graph Forum and the Data Architecture Summit.
18
00:02:06.299 --> 00:02:13.680
The agendas have already been announced, and super early bird registration is available until July 26th where you can get up to $300 off,
19
00:02:14.085 --> 00:02:16.185
or the early bird pricing for $200
20
00:02:16.485 --> 00:02:18.505
off is available through August 30th.
21
00:02:19.285 --> 00:02:24.959
Use the code b n l l c to get an additional 10% off any pass when you register.
22
00:02:25.260 --> 00:02:26.480
Go to python podcast.com/conferences
23
00:02:28.140 --> 00:02:30.400
to learn more about this and the other conferences
24
00:02:30.715 --> 00:02:33.215
and take advantage of our partner discounts when you register.
25
00:02:33.834 --> 00:02:45.840
And, also, the Python Software Foundation is the lifeblood of the community, supporting all of us who want to run workshops and conferences, run development spritz or meetups, and they also ensure that PyCon is a success every year.
26
00:02:46.335 --> 00:02:52.755
They have extended the deadline for their 2019 fundraiser until June 30th, and they need help to make sure they reach their goal.
27
00:02:53.135 --> 00:02:54.515
Go to python podcast.com/p
28
00:02:56.160 --> 00:02:59.140
s f 2019 today to make a donation.
29
00:03:00.000 --> 00:03:02.100
And you can visit the site at python podcast.com
30
00:03:02.640 --> 00:03:10.625
to subscribe to the show, sign up for the mailing list, read the show notes, and get in touch. And if you have any questions, comments, or suggestions, I'd love to hear them.
31
00:03:11.005 --> 00:03:15.505
And to help other people find the show, please leave a review on Itunes and tell your friends and coworkers.
32
00:03:15.950 --> 00:03:21.810
Your host as usual is Tobias Macy. And today, I'm interviewing Jared Broad and Alex Catarino about QuantConnect,
33
00:03:22.110 --> 00:03:35.235
a platform for building and testing algorithmic trading strategies on open data and cloud resources. So, Jared, could you start by introducing yourself? Hi, Tobias. Nice to meet you. My name is Jared Broad, and I'm the CEO and founder of Conkonet.
34
00:03:35.700 --> 00:03:37.160
We were founded about
35
00:03:37.540 --> 00:03:40.120
2012. And since then, we've been building
36
00:03:40.660 --> 00:03:41.160
this,
37
00:03:41.540 --> 00:03:43.240
community and cloud platform
38
00:03:43.845 --> 00:03:53.305
to give people the most powerful algorithmic trading services possible. And, Alex, could you introduce yourself as well? Yeah. Hi. I'm Alex. I'm the lead at QuantConnect,
39
00:03:53.630 --> 00:03:57.650
and I was involved a lot in the, Python integration with QuantConnect.
40
00:03:58.510 --> 00:04:04.565
So, I'm here because of that. And going back to you, Jared, do you remember how you first got introduced to Python?
41
00:04:04.865 --> 00:04:15.160
Yeah. I've been in in in and out of Python for many years now, but, it was really the the community of Kong Konnect that drove me personally mostly into Python. So
42
00:04:15.700 --> 00:04:19.125
it's been strongly demanded by our community and,
43
00:04:19.745 --> 00:04:24.724
I've had to learn it from the ground up, which has been a a fascinating and and humble experience.
44
00:04:25.370 --> 00:04:25.870
But,
45
00:04:26.650 --> 00:04:32.365
yeah. No. It's been it's been a great journey. And, Alex, do you remember how you first got introduced to Python? Yeah. It started late
46
00:04:32.845 --> 00:04:33.345
2015
47
00:04:33.884 --> 00:04:35.585
when we start work on the integration.
48
00:04:36.125 --> 00:04:39.824
Yeah. And it's been, great learning, how powerful
49
00:04:40.419 --> 00:04:41.240
Python is.
50
00:04:41.860 --> 00:04:47.240
I also help to translate some of the algorithms to from c sharp to to Python,
51
00:04:47.620 --> 00:04:49.639
and, I learned a lot in this process.
52
00:04:50.165 --> 00:04:56.005
And so, Jared, going back to you, you mentioned a little bit about what QuantConnect is and some of,
53
00:04:56.565 --> 00:05:03.930
when it got started. But I'm wondering if you can just give a broader overview about what you're building with the QuantConnect business and platform
54
00:05:04.230 --> 00:05:07.370
and how it got started and just your overall mission for the company.
55
00:05:07.825 --> 00:05:12.645
Sure. QuantConnect really at its core is a a global community of engineers,
56
00:05:13.025 --> 00:05:14.085
quants, scientists,
57
00:05:14.385 --> 00:05:14.885
mathematicians,
58
00:05:15.425 --> 00:05:15.925
just
59
00:05:16.430 --> 00:05:19.250
people who have a passion for the market
60
00:05:19.789 --> 00:05:22.370
and, have ideas that they want to test.
61
00:05:22.909 --> 00:05:24.110
And so, we
62
00:05:24.745 --> 00:05:27.085
our mission really was to break open
63
00:05:27.865 --> 00:05:28.685
this really
64
00:05:28.985 --> 00:05:30.765
complicated and hard to access,
65
00:05:31.305 --> 00:05:33.325
technology and financial data
66
00:05:33.789 --> 00:05:38.449
so that individual people could get access to it and test their ideas and then deploy
67
00:05:38.990 --> 00:05:41.650
powerful investment strategies to the markets.
68
00:05:42.385 --> 00:05:45.125
It's been we started in in 2012,
69
00:05:45.665 --> 00:05:46.165
and
70
00:05:46.625 --> 00:05:49.025
the world's evolved a lot since then. And,
71
00:05:49.920 --> 00:05:50.800
now we're
72
00:05:51.280 --> 00:05:59.220
we've built this technology. We've we've offered this platform, and the community is the biggest community in the world of these quants.
73
00:05:59.925 --> 00:06:00.905
And we
74
00:06:01.205 --> 00:06:03.445
are looking to provide them a way to,
75
00:06:04.085 --> 00:06:05.605
monetize their efforts and,
76
00:06:06.165 --> 00:06:07.865
make the most of their ideas.
77
00:06:08.240 --> 00:06:10.260
And so that's what we're we're launching,
78
00:06:10.880 --> 00:06:13.060
this year, which is called Alpha Streams.
79
00:06:13.440 --> 00:06:15.040
And it's a way for them to really,
80
00:06:15.760 --> 00:06:17.745
make the most of of their efforts.
81
00:06:18.285 --> 00:06:21.105
And I know that there are a few other businesses
82
00:06:21.405 --> 00:06:26.065
that are in a similar space as far as being a way for
83
00:06:26.520 --> 00:06:36.905
average users to be able to build and test algorithms for running against financial data and possibly actually executing trades with it. So I'm curious if you can
84
00:06:37.285 --> 00:06:42.985
talk through some of the other businesses or platforms, whether open source or proprietary,
85
00:06:43.365 --> 00:06:44.104
that are
86
00:06:44.440 --> 00:06:51.020
operating in that similar space and maybe characterize your position in the market and how you compare to some of the other options?
87
00:06:51.960 --> 00:06:53.260
Sure. We
88
00:06:53.784 --> 00:06:54.284
we,
89
00:06:54.905 --> 00:06:58.525
I would say that we're the only company that has stayed 100%
90
00:06:58.905 --> 00:07:01.004
focused on the quants and the community.
91
00:07:02.550 --> 00:07:03.770
We that motive
92
00:07:04.070 --> 00:07:04.470
that,
93
00:07:05.190 --> 00:07:09.610
has driven our core business decisions, our technology design.
94
00:07:10.035 --> 00:07:20.460
And so as a result, we're the only 1 in the market who actually didn't become a hedge fund. So we've focused on developing the platform and the technology to be the best possible for the Quant
95
00:07:21.160 --> 00:07:23.660
community. And so as a result, we now support,
96
00:07:24.120 --> 00:07:24.620
equities,
97
00:07:24.920 --> 00:07:26.140
forex, options,
98
00:07:27.080 --> 00:07:28.140
crypto markets.
99
00:07:28.634 --> 00:07:29.514
You can do,
100
00:07:30.474 --> 00:07:39.190
live trading on, 6 different brokerages now, and it's all co it's all hosted in our colocated servers in New York.
101
00:07:39.570 --> 00:07:40.470
So we provide,
102
00:07:40.930 --> 00:07:43.270
you know, like, professional quality execution,
103
00:07:44.095 --> 00:07:57.660
live trading, live data, and it's all built and focused on this quant community. And this really, this came to a peak with Alpha Streams because we were being approached by a lot of quantitative fund hedge funds who were saying they wanted access to the community.
104
00:07:58.280 --> 00:08:03.595
And we didn't want to compromise on those values that we put the community members first.
105
00:08:04.135 --> 00:08:10.220
So when we were looking at how we could do that, we were trying to find a way that the the quant could
106
00:08:10.620 --> 00:08:15.500
do we could do the best for the quant. And that's really how Alpha Streams came about. It's a,
107
00:08:16.540 --> 00:08:18.640
the world's first alpha market.
108
00:08:18.995 --> 00:08:23.975
It's a way for these quants to design algorithms and put them into a marketplace.
109
00:08:24.675 --> 00:08:31.310
And then I have dozens of hedge funds from all around the world reviewing the the alpha signals
110
00:08:31.850 --> 00:08:32.170
and,
111
00:08:33.050 --> 00:08:35.470
having the ability to license those algorithms
112
00:08:35.930 --> 00:08:38.395
and get distribution that they've never had before.
113
00:08:39.095 --> 00:08:43.675
And so I know that the core of the platform is largely implemented
114
00:08:44.215 --> 00:09:00.835
in c sharp, and that that's where a lot of your background lies, and that you have added support for Python as an implementation language. But I'm wondering if you can just start by talking through what the main ways are that you and your customers end up using Python both,
115
00:09:01.295 --> 00:09:11.925
within the QuantConnect platform itself and just more generally in terms of the algorithmic nature of the problem domain that you're working in? We are, we are constantly humbled
116
00:09:12.545 --> 00:09:15.765
by by the 1, 000, 000 different ways that the community uses,
117
00:09:16.305 --> 00:09:21.630
the platform. And mostly, our job is to make it as versatile
118
00:09:22.089 --> 00:09:23.709
and flexible as possible.
119
00:09:24.250 --> 00:09:26.750
So we we do that for them, and then,
120
00:09:27.610 --> 00:09:28.110
they
121
00:09:28.754 --> 00:09:30.134
they can use it
122
00:09:30.435 --> 00:09:32.134
to test basically anything.
123
00:09:32.675 --> 00:09:37.415
So the the platform data ranges from tick all the way up to daily resolution.
124
00:09:37.880 --> 00:09:39.500
And so users are developing,
125
00:09:40.600 --> 00:09:44.779
sort of fast I wouldn't say high frequency, but they're developing fast strategies,
126
00:09:45.514 --> 00:09:48.014
intraday strategies that are trading on momentum
127
00:09:48.635 --> 00:09:50.415
or or some sort of intraday signals,
128
00:09:50.875 --> 00:09:52.095
all the way up to portfolios
129
00:09:52.635 --> 00:09:55.899
and long term rebalancing kinds of strategies.
130
00:09:56.440 --> 00:10:00.540
And the the beauty of having all the different asset types that are available in the platform,
131
00:10:01.000 --> 00:10:02.139
you can combine
132
00:10:02.920 --> 00:10:05.019
strategies and asset types
133
00:10:05.375 --> 00:10:14.195
to generate the best returns. So if you've got an idea that could use equities and options, you can merge them together. Or if you want to go to
134
00:10:14.690 --> 00:10:22.325
crypto assets when the market is going crazy, you can add crypto data to your algorithm and move between the crypto markets and the equity markets.
135
00:10:22.965 --> 00:10:23.945
It's really fascinating.
136
00:10:24.325 --> 00:10:31.545
And for anybody who isn't familiar with the space of quantitative trading and some of the
137
00:10:32.150 --> 00:10:40.730
just overall requirements in terms of general knowledge of financial data and algorithmic strategies. I'm wondering if you can just talk through,
138
00:10:41.430 --> 00:10:45.835
just what is involved overall in being able to build and test these algorithms.
139
00:10:46.535 --> 00:10:53.210
Well, we have a lot of material for someone who is new. We have been working a lot of on this material for the past 2 years.
140
00:10:53.830 --> 00:10:54.970
And now we have
141
00:10:55.510 --> 00:10:57.110
dozens of tutorials in,
142
00:10:57.935 --> 00:11:01.635
in a strategy library with hundreds of academic papers implementation.
143
00:11:02.175 --> 00:11:02.675
So,
144
00:11:03.135 --> 00:11:03.875
our users,
145
00:11:04.574 --> 00:11:06.610
have access to full,
146
00:11:07.310 --> 00:11:08.290
working algorithms
147
00:11:08.750 --> 00:11:09.490
that can
148
00:11:09.870 --> 00:11:11.649
that they can, take
149
00:11:12.355 --> 00:11:13.255
as an inspiration
150
00:11:13.875 --> 00:11:14.935
and also follow
151
00:11:15.635 --> 00:11:16.535
all the process
152
00:11:16.995 --> 00:11:19.175
that in these, paper implementations.
153
00:11:20.150 --> 00:11:23.610
And we also have a boot camp, which is a lit interactive,
154
00:11:24.150 --> 00:11:25.290
step by step tutorial.
155
00:11:25.830 --> 00:11:28.810
And on top of that, we have the an active community
156
00:11:29.205 --> 00:11:31.945
that share knowledge and ideas in the in a forum.
157
00:11:32.405 --> 00:11:36.745
And just add to that, no matter whether you are beginner beginner or professional,
158
00:11:37.199 --> 00:11:39.459
we have the tools, and then that attributes,
159
00:11:40.240 --> 00:11:40.740
powerful,
160
00:11:41.120 --> 00:11:42.579
awaiting trading strategies.
161
00:11:43.360 --> 00:11:45.860
Now in terms of QuantConnect itself,
162
00:11:46.254 --> 00:12:01.250
I'm wondering what the overall architecture of the platform looks like and the various components that play into each other for being able to provide a way to access the data that's necessary for testing these strategies and,
163
00:12:01.790 --> 00:12:06.895
just some of the overall challenges and complications involved both from the,
164
00:12:07.255 --> 00:12:10.235
nature of being able to run potentially
165
00:12:10.615 --> 00:12:11.115
untrusted
166
00:12:11.495 --> 00:12:19.950
user code and also being able to collect and maintain all of the data that's necessary for being able to do the historical backtesting?
167
00:12:20.745 --> 00:12:22.125
It's incredibly challenging,
168
00:12:22.505 --> 00:12:23.324
to be honest.
169
00:12:24.665 --> 00:12:26.605
We are always breaking
170
00:12:27.065 --> 00:12:28.764
every API that we use.
171
00:12:29.625 --> 00:12:30.105
So,
172
00:12:31.530 --> 00:12:36.270
we we add a new brokerage, and we find bugs in the brokerage API within
173
00:12:36.730 --> 00:12:37.390
a day.
174
00:12:38.010 --> 00:12:38.490
We add
175
00:12:39.745 --> 00:12:40.805
like, we swapped
176
00:12:41.585 --> 00:12:44.325
database technology to use Google Spanner
177
00:12:44.705 --> 00:12:47.045
a while ago, and we broke Google Spanner.
178
00:12:48.149 --> 00:12:50.890
We have we have to file bug reports in Google Spanner.
179
00:12:51.910 --> 00:12:53.529
Yeah. So, overall,
180
00:12:54.964 --> 00:12:59.865
the the the core of the the sort of user facing experience is an online
181
00:13:00.565 --> 00:13:01.464
coding environment.
182
00:13:01.970 --> 00:13:10.460
So you you go to QuantConnect, you sign up, it's completely free, and the first thing you're greeted with is it's a coding environment very similar to,
183
00:13:11.464 --> 00:13:14.045
PyCharm or or or Visual Studio Code,
184
00:13:14.425 --> 00:13:14.904
and,
185
00:13:15.785 --> 00:13:19.964
80% of the community are are Python users. So it
186
00:13:20.500 --> 00:13:23.399
presents you with a Python algorithm to get started,
187
00:13:23.700 --> 00:13:25.480
and you can go and you can design,
188
00:13:26.180 --> 00:13:28.519
1 of these algorithms in this online editor.
189
00:13:29.125 --> 00:13:37.705
So behind the scenes, we have all of the we've built web versions of all of the normal tech that you would have for a
190
00:13:38.029 --> 00:13:38.770
Code Editor.
191
00:13:39.230 --> 00:13:40.529
So you've got debugging.
192
00:13:40.910 --> 00:13:43.730
You've got a builder, a compiler. You've got interactive
193
00:13:44.110 --> 00:13:44.610
IntelliSense.
194
00:13:45.185 --> 00:13:45.985
So all of the,
195
00:13:46.465 --> 00:13:48.645
the aspects of running IntelliSense,
196
00:13:49.505 --> 00:13:57.950
you know, and and but it's all in the cloud version and made for scale with with thousands and thousands of people. So it's it's a very fun challenging problem. And then,
197
00:13:58.430 --> 00:14:03.250
once you've built an algorithm and you go to deploy it into a backtest,
198
00:14:03.834 --> 00:14:05.535
You're running your algorithm
199
00:14:06.154 --> 00:14:07.055
through lean.
200
00:14:07.514 --> 00:14:12.654
Lean is our, open source project. It's a massive algorithmic trading system
201
00:14:13.300 --> 00:14:13.959
that allows
202
00:14:14.420 --> 00:14:16.360
you to build an algorithm
203
00:14:16.980 --> 00:14:20.199
and test it. And we, the lean engine,
204
00:14:20.500 --> 00:14:27.685
handles everything else. So behind the scenes, it's getting the data you need. It's synchronizing that data. It's,
205
00:14:29.605 --> 00:14:31.065
managing your portfolio,
206
00:14:31.590 --> 00:14:37.390
so the state of your algorithm, and managing all of the models so that we can do,
207
00:14:37.830 --> 00:14:38.330
virtual
208
00:14:38.870 --> 00:14:39.370
fills
209
00:14:39.875 --> 00:14:40.775
in in simulation
210
00:14:41.555 --> 00:14:49.470
on all these different asset classes and and virtual transactions and modeling all of the fees and the slippage and the portfolio values.
211
00:14:50.430 --> 00:15:07.850
So lean the lean engine handles that, and it handles it incredibly fast because, really, the the users are running on terabytes of data underneath. And so we've got these large clouds underneath, supplying that data. And behind the scenes, the users are requesting terabytes of
212
00:15:08.569 --> 00:15:14.009
data. So we have a large financial data library, and we maintain it and curate it. And we have a,
213
00:15:14.730 --> 00:15:15.230
redundant
214
00:15:15.625 --> 00:15:18.285
systems in multiple locations, which are
215
00:15:18.825 --> 00:15:24.550
generating, curating, and, providing that data to the community. So it it's kind of
216
00:15:25.430 --> 00:15:29.290
a large engine that really just lets the the users in the community,
217
00:15:30.070 --> 00:15:33.275
focus on building and designing and testing their ideas,
218
00:15:33.675 --> 00:15:36.015
and the QuantConnect team handles everything else.
219
00:15:36.395 --> 00:15:42.170
And so you mentioned that the core of the platform is the lean engine,
220
00:15:42.470 --> 00:15:46.410
and I know that it's been released as an open source technology.
221
00:15:46.710 --> 00:15:51.705
So I'm wondering what your overall strategy is and your motivation for
222
00:15:52.085 --> 00:15:56.425
providing that as a freely available resource for people to be able to
223
00:15:56.725 --> 00:15:58.505
use and analyze for their own purposes.
224
00:15:58.860 --> 00:15:59.680
Yeah. We released,
225
00:16:00.380 --> 00:16:01.920
Lean in 2014,
226
00:16:02.380 --> 00:16:02.880
2015.
227
00:16:03.580 --> 00:16:08.400
And it was kind of scary at the time because it was our first open source release.
228
00:16:09.375 --> 00:16:09.875
And
229
00:16:10.334 --> 00:16:12.195
like the algorithmic trading industry,
230
00:16:12.894 --> 00:16:29.935
everything's so secretive and it kind of goes against the grain. So it was actually probably 1 of the best decisions we made. Algorithmic trading is incredibly sensitive to the platform, the infrastructure that you're running on. And by open sourcing it and letting the users touch it, inspect it,
231
00:16:30.315 --> 00:16:42.180
we were able to give them a lot of confidence and faith in the platform and how it's built and how it's architected. We were able to rally this global community of engineers and and brilliant minds
232
00:16:42.825 --> 00:17:28.049
to come and work on the platform. So there's over 90 contributors from all around the world who have been part of making Lean possible. It's kind of weird, but, a lot of our team was found through the open source. It's people who are working on the project for fun on their own time. And we say, hey, you know, come and join QuantConnect and we'll do it full time together. So we just bring the people on board, and they they join the team full time. And it's been a great way to meet, new team team members. So, yeah, it's it's been an interesting journey with the open source. And given that the lean engine is written in c sharp, but you're using it as a mechanism for executing Python code. I'm wondering what the bridge looks like and just the overall technology stack that you've compiled for being able to,
233
00:17:28.669 --> 00:17:34.290
enable that interaction and be able to run those Python algorithms, particularly in terms of managing dependencies,
234
00:17:35.435 --> 00:17:37.375
within this c sharp core runtime?
235
00:17:39.275 --> 00:17:40.655
Yeah. The original implementation
236
00:17:41.355 --> 00:17:42.895
was based on Aeropython.
237
00:17:43.840 --> 00:17:44.640
It was in product
238
00:17:46.000 --> 00:17:47.700
it dates back in 2014.
239
00:17:48.560 --> 00:17:50.820
It was in production for about 1 year,
240
00:17:51.184 --> 00:17:55.125
but it has, poor library support, just the standard library.
241
00:17:55.585 --> 00:17:59.605
And the community members were looking for NumPy, Sampy, and Pandas.
242
00:18:00.000 --> 00:18:01.300
They they love Pandas.
243
00:18:01.760 --> 00:18:04.020
And, eventually, machine learning libraries.
244
00:18:05.600 --> 00:18:07.300
So we start looking for replacement
245
00:18:07.600 --> 00:18:08.340
in 2, 000
246
00:18:09.575 --> 00:18:10.475
15, 16.
247
00:18:11.015 --> 00:18:11.995
And we tried,
248
00:18:12.934 --> 00:18:13.995
out of code generation
249
00:18:14.535 --> 00:18:19.350
by reading the c, sharp code and then creating a Python library in Leap for the
250
00:18:20.870 --> 00:18:22.890
it wrote 1, 000 of classes,
251
00:18:23.750 --> 00:18:24.810
and automatically
252
00:18:25.190 --> 00:18:25.690
porting
253
00:18:25.995 --> 00:18:27.375
c sharp to Python,
254
00:18:27.915 --> 00:18:32.175
but it was really, really, really slow. So we we we couldn't use it.
255
00:18:33.090 --> 00:18:35.190
So, despite in NumPy,
256
00:18:35.570 --> 00:18:37.110
we looking to,
257
00:18:37.970 --> 00:18:41.270
make a c c plus plus version of green.
258
00:18:41.735 --> 00:18:44.875
We would would bound it directly, the Python,
259
00:18:45.255 --> 00:18:45.995
c API,
260
00:18:46.695 --> 00:18:50.635
invoke it from the c plus plus library that would be Lean.
261
00:18:51.010 --> 00:18:55.430
It, this, solution requires a serialization across the memory domain,
262
00:18:56.530 --> 00:19:01.135
passing the data from c to Python and, on on the other, direction.
263
00:19:01.755 --> 00:19:05.855
And it is always the lowest part of the the transport for anything
264
00:19:06.395 --> 00:19:08.335
from, beyond basic types.
265
00:19:09.210 --> 00:19:09.710
Civilization
266
00:19:10.570 --> 00:19:11.630
is the core limitation,
267
00:19:12.250 --> 00:19:14.750
for this kind of, interop operations.
268
00:19:15.770 --> 00:19:22.095
Anytime a complex type needed to transmit between the c sharp and the Python, it requires authorization to string
269
00:19:22.475 --> 00:19:23.375
to work properly.
270
00:19:24.315 --> 00:19:24.635
So,
271
00:19:25.275 --> 00:19:28.769
in in our research, we came across a Python net, which
272
00:19:29.070 --> 00:19:33.330
also a no brain source project. It's led by Dennis Akiarov.
273
00:19:34.750 --> 00:19:39.404
And Python net is it was a great finding. It provides, the key bindings
274
00:19:39.945 --> 00:19:40.445
into
275
00:19:40.985 --> 00:19:41.485
Python
276
00:19:42.184 --> 00:19:42.924
c API
277
00:19:43.465 --> 00:19:44.845
into net applications.
278
00:19:46.450 --> 00:19:48.070
So it can easily consume,
279
00:19:48.370 --> 00:19:49.590
the Python objects.
280
00:19:50.370 --> 00:19:51.090
So with,
281
00:19:51.490 --> 00:19:53.350
Python Net, we're able to import
282
00:19:53.735 --> 00:19:56.155
Python classes into Lean as algorithms.
283
00:19:57.735 --> 00:19:58.475
It supports,
284
00:19:59.575 --> 00:20:03.510
all, our versions of Python from 2 to 3.6.
285
00:20:04.370 --> 00:20:06.550
That that's the version that we are using,
286
00:20:07.170 --> 00:20:10.870
right now, and it support most of the libraries. So now,
287
00:20:11.170 --> 00:20:11.830
it supports
288
00:20:12.595 --> 00:20:13.095
NumPy,
289
00:20:13.875 --> 00:20:14.934
SciPy, TensorFlow,
290
00:20:15.315 --> 00:20:15.815
Keras.
291
00:20:17.235 --> 00:20:19.395
For instance, ELEAN, we deploy model,
292
00:20:20.240 --> 00:20:21.940
the the portfolio of an algorithm,
293
00:20:22.880 --> 00:20:27.620
providing the profits, losses, the slippage models like Gerald mentioned before.
294
00:20:28.835 --> 00:20:33.415
And PythonX handles all the types conversion between the 2 language very well.
295
00:20:33.875 --> 00:20:34.375
And
296
00:20:34.675 --> 00:20:40.590
because of the fact that you're bridging these 2 different language run times, I imagine that that has at least some impact
297
00:20:40.970 --> 00:20:42.190
on the overall
298
00:20:42.570 --> 00:20:44.429
latency and performance characteristics
299
00:20:45.174 --> 00:20:47.275
of the execution of the algorithms.
300
00:20:47.655 --> 00:20:51.115
And since the financial space is highly time dependent
301
00:20:51.735 --> 00:20:53.355
as far as the
302
00:20:53.730 --> 00:20:57.750
execution of trades to make sure that you're getting the price that you think that you're getting.
303
00:20:58.210 --> 00:21:04.304
I'm curious what your approach has been to managing those performance impacts and maintaining
304
00:21:04.605 --> 00:21:06.145
an appropriate level of latency?
305
00:21:06.684 --> 00:21:09.424
Well, with NetBeat, we stuck with Pythonet
306
00:21:09.885 --> 00:21:12.304
and, looking to, optimize
307
00:21:13.040 --> 00:21:14.260
the PythonNet bridge,
308
00:21:15.040 --> 00:21:16.820
bridge between the the 2 languages
309
00:21:17.360 --> 00:21:22.000
because it's it's it's already, the direct binding through the c,
310
00:21:22.534 --> 00:21:23.434
the Python's API.
311
00:21:24.615 --> 00:21:26.475
So it's already the FESO,
312
00:21:27.095 --> 00:21:31.840
FESUS option available. Right? So we're just looking to improving,
313
00:21:32.940 --> 00:21:34.160
Pythonet and
314
00:21:34.620 --> 00:21:39.600
improving also the speed of the in a way. In live trading, being slightly fast.
315
00:21:40.205 --> 00:21:46.705
It's not the steel it's not designed for, high frequency trading, like like Gerald has mentioned. But 99%
316
00:21:47.245 --> 00:21:49.250
of the world is more than enough
317
00:21:49.630 --> 00:21:50.130
speed.
318
00:21:50.830 --> 00:21:51.330
So,
319
00:21:52.030 --> 00:21:54.610
since links can analyze and respond to milliseconds,
320
00:21:56.190 --> 00:21:57.490
there are other bottlenecks
321
00:21:57.914 --> 00:21:59.294
like the broker JPI
322
00:21:59.914 --> 00:22:01.455
that are much more important,
323
00:22:02.154 --> 00:22:02.654
to
324
00:22:03.034 --> 00:22:03.855
to the latency.
325
00:22:04.315 --> 00:22:10.650
And have there been any complications or edge cases that you've had to deal with in terms of the,
326
00:22:11.110 --> 00:22:14.330
communication layer between Python and the,
327
00:22:14.950 --> 00:22:16.795
dot net CLR for,
328
00:22:17.415 --> 00:22:22.075
you know, any sorts of bugs that are introduced. And then the other curiosity I have is
329
00:22:22.830 --> 00:22:23.330
management
330
00:22:23.630 --> 00:22:27.810
of the 3rd party libraries that you bring in as far as
331
00:22:28.190 --> 00:22:29.090
any upgrades
332
00:22:29.390 --> 00:22:31.470
trying to avoid breaking the,
333
00:22:31.985 --> 00:22:36.485
user submitted algorithms that might be dependent on particular features of whatever,
334
00:22:37.345 --> 00:22:42.299
version is available at the time of implementation for things like NumPy or TensorFlow.
335
00:22:43.159 --> 00:22:45.100
It it is a problem, though, and,
336
00:22:45.559 --> 00:22:49.820
it's been an interesting 1 to manage. So behind the scenes, we have
337
00:22:50.505 --> 00:22:51.805
a versioning system
338
00:22:52.425 --> 00:22:53.885
kind of like GitHub
339
00:22:54.425 --> 00:22:57.645
that lets us deploy different versions of our infrastructure.
340
00:22:58.500 --> 00:23:00.200
So we can actually for,
341
00:23:00.659 --> 00:23:03.000
the startup hedge funds that they're using, QuantConnect,
342
00:23:03.539 --> 00:23:06.039
we can actually pin the version of the infrastructure
343
00:23:06.419 --> 00:23:11.655
to a certain version, and then they can go and they can run their fund on a specific version.
344
00:23:12.035 --> 00:23:13.815
But for the bulk of the community,
345
00:23:14.195 --> 00:23:14.695
it's,
346
00:23:15.250 --> 00:23:19.750
better. We found to give them the latest version
347
00:23:20.050 --> 00:23:23.270
of QualcommX code because it has the most bug fixes.
348
00:23:23.925 --> 00:23:25.225
Just, simply
349
00:23:25.525 --> 00:23:26.905
we we get,
350
00:23:27.525 --> 00:23:31.465
we iterate very, very quickly, and we we fix the open source and,
351
00:23:32.610 --> 00:23:40.150
and and fixes bugs very, very quickly. And so deploying those fixes to production is the best we can do for the for the bulk of the community.
352
00:23:40.605 --> 00:23:43.505
But for a lot of people who are, you know,
353
00:23:44.285 --> 00:23:44.785
managing,
354
00:23:45.325 --> 00:23:47.745
assets and and doing sort of production,
355
00:23:48.525 --> 00:23:49.025
sensitive
356
00:23:49.820 --> 00:23:52.000
deployments every day to live trading,
357
00:23:52.539 --> 00:23:56.720
we've got this pinned infrastructure system that we make available to them.
358
00:23:57.375 --> 00:24:00.595
Well, for the for the libraries, we
359
00:24:01.055 --> 00:24:04.835
we we have our our every time that we add new libraries
360
00:24:05.429 --> 00:24:07.770
or update the our the framework,
361
00:24:08.790 --> 00:24:10.870
the the the basic Docker,
362
00:24:11.429 --> 00:24:13.610
container that we have, we test,
363
00:24:14.215 --> 00:24:15.895
it against a bunch of,
364
00:24:16.295 --> 00:24:16.795
algorithms
365
00:24:18.295 --> 00:24:18.795
as
366
00:24:19.655 --> 00:24:21.930
a kind of unit test to see if,
367
00:24:22.410 --> 00:24:23.470
it's not broken.
368
00:24:23.930 --> 00:24:25.310
But we try to keep,
369
00:24:25.850 --> 00:24:26.990
the the versions,
370
00:24:28.810 --> 00:24:29.130
cost,
371
00:24:29.610 --> 00:24:30.750
constant in time
372
00:24:31.055 --> 00:24:32.255
and just make,
373
00:24:32.575 --> 00:24:33.395
an upgrade
374
00:24:33.855 --> 00:24:37.715
when we when we see, its fit. So we are always looking
375
00:24:38.760 --> 00:24:42.299
for the the state of the art of, each library.
376
00:24:43.160 --> 00:24:56.600
And for the usage of Python itself, you mentioned that there are something like 80% of your users who use that versus some of the other run times that you support. And I'm wondering what are the benefits
377
00:24:57.059 --> 00:25:01.880
of the Python language specifically that brings in so many people in the Quant community.
378
00:25:02.634 --> 00:25:10.815
And I'm also wondering what the practicality is for machine learning techniques, because I know you mentioned that people are leveraging TensorFlow and Keras.
379
00:25:11.240 --> 00:25:13.500
And I know that a lot of the
380
00:25:14.040 --> 00:25:14.540
utility
381
00:25:14.840 --> 00:25:18.860
of machine learning is based on being able to recognize
382
00:25:19.160 --> 00:25:19.660
and
383
00:25:26.715 --> 00:25:27.125
strategies are on that front. Right.
384
00:25:28.140 --> 00:25:30.160
Strategies are on that front.
385
00:25:30.860 --> 00:25:33.200
Right. The main benefits of Python,
386
00:25:33.660 --> 00:25:36.000
it's called Clarity in, Brevity
387
00:25:36.365 --> 00:25:41.905
and along alongside with the data process capability. Our members actively use Pandas
388
00:25:42.525 --> 00:25:45.505
as it's a great library to deal with metrics prices
389
00:25:46.040 --> 00:25:49.020
that represent the history of our portfolio.
390
00:25:49.320 --> 00:25:54.380
Also, it benefits as as we mentioned, it was the main reason to to work on the
391
00:25:54.680 --> 00:25:55.340
with that,
392
00:25:55.945 --> 00:25:57.165
all sorts of libraries
393
00:25:57.545 --> 00:25:59.325
that comes, with Python,
394
00:25:59.865 --> 00:26:00.925
that, is
395
00:26:01.305 --> 00:26:08.940
great for machine learnings and which is a hot up today. On the type of strategies, we can't really disclose, but,
396
00:26:09.559 --> 00:26:11.179
simple strategies like
397
00:26:11.675 --> 00:26:11.995
see,
398
00:26:13.115 --> 00:26:14.575
what what's the predictability
399
00:26:15.355 --> 00:26:15.855
of,
400
00:26:17.035 --> 00:26:21.135
a a get a open a gap in the open prices. People can
401
00:26:21.500 --> 00:26:22.540
plug this into,
402
00:26:23.020 --> 00:26:26.540
the the machine learning and see, how this can,
403
00:26:27.100 --> 00:26:27.760
be used
404
00:26:28.140 --> 00:26:28.880
as a
405
00:26:29.180 --> 00:26:29.760
a predictor.
406
00:26:30.805 --> 00:26:31.305
And
407
00:26:31.925 --> 00:26:41.610
you mentioned that the other recent product addition is this Alpha Streams platform where users in your community can submit their algorithms
408
00:26:41.990 --> 00:26:46.730
for being able to be licensed by other people to execute their trades on.
409
00:26:47.110 --> 00:26:48.250
And so I'm wondering
410
00:26:48.710 --> 00:26:54.955
what it is about Alpha Streams that makes it unique in the market and how it benefits the users of your platform,
411
00:26:55.655 --> 00:26:56.875
and just what the overall
412
00:26:57.255 --> 00:26:59.515
adoption and feedback has been.
413
00:27:00.040 --> 00:27:04.140
Alpha Streams is, at its core, this market where users can
414
00:27:04.520 --> 00:27:05.020
deploy
415
00:27:05.320 --> 00:27:06.060
their algorithms
416
00:27:06.520 --> 00:27:07.020
into,
417
00:27:07.480 --> 00:27:09.100
an environment where institutions
418
00:27:10.105 --> 00:27:27.240
can review them and potentially license them. But really to to fully understand it, you have to go back to how the industry works today. So you have thousands of hedge funds doing things in a very old fashioned way. They're not quite the same. They're not quite keeping up with the open source community.
419
00:27:27.885 --> 00:27:37.930
They, they hire recruiters. They they bring in these quants who are new to the firm. They pay expensive recruiter fees. They train them up and they get them work on new datasets.
420
00:27:38.630 --> 00:27:40.730
And maybe in 6 months or so,
421
00:27:41.110 --> 00:27:46.785
the quant is going to come up with a cool idea that they're going to put into production. And so there's this very long
422
00:27:47.245 --> 00:27:48.145
search process
423
00:27:48.605 --> 00:27:50.625
where these institutions are looking
424
00:27:51.165 --> 00:27:57.220
for an idea and looking for an algorithm to trade. And because there's no central way, central platform,
425
00:27:57.520 --> 00:27:58.660
where they can compare
426
00:27:59.040 --> 00:27:59.540
these,
427
00:28:00.160 --> 00:28:00.660
algorithms,
428
00:28:01.200 --> 00:28:06.634
they can't trust anything that comes from outside the firm. So everybody's repeating everything they
429
00:28:06.934 --> 00:28:20.010
do. They they bring in data. They redo the same experiments that every other hedge fund has done. So with Alpha Streams, it's it's flipping the entire industry on its head. We are looking to automate this entire search process.
430
00:28:20.615 --> 00:28:25.275
So if if we were to design the perfect hedge fund today, what would it look like?
431
00:28:25.655 --> 00:28:29.130
And so in our minds, it would tap into a globally
432
00:28:29.430 --> 00:28:30.650
distributed community
433
00:28:31.190 --> 00:28:33.770
where the ideas are tested and vetted
434
00:28:34.150 --> 00:28:54.544
and evaluated based on merits, Not where you are in the world and not where which school you came from. So with Alpha Streams, if your idea is good, you can put it into QuantConnect. You can get it tested and verified independently by us, and then it can be distributed to thousands of hedge funds. And so that idea of a meritocracy in Quant Finance
435
00:28:55.085 --> 00:28:55.405
is,
436
00:28:56.044 --> 00:28:59.505
at its core, is that's what Quant Finance is about. But in practice,
437
00:29:00.440 --> 00:29:05.580
there's just so much politics and paperwork and overhead that goes into into running the fund
438
00:29:06.039 --> 00:29:08.299
that, it doesn't actually happen in practice.
439
00:29:08.674 --> 00:29:15.575
So we've built an API where these institutions can come in and search the marketplace for funds, for strategies which are listed.
440
00:29:16.010 --> 00:29:21.390
And the community can quickly and easily deploy their algorithms to be listed in the marketplace
441
00:29:22.010 --> 00:29:24.425
and, be considered to be licensed.
442
00:29:24.985 --> 00:29:29.325
It's it's really an exciting concept that flips the entire industry on its head. And
443
00:29:29.785 --> 00:29:33.405
the other thing that is notable about the work that you're doing
444
00:29:33.720 --> 00:29:38.620
is the efforts that you're putting into to foster and grow the community
445
00:29:39.000 --> 00:29:39.900
around QuantConnect
446
00:29:40.360 --> 00:29:41.740
and quantitative finance.
447
00:29:42.145 --> 00:29:51.045
And so I'm wondering what your overall strategies are and just the overall effort that you're putting into building and maintaining this community
448
00:29:51.650 --> 00:29:54.550
and how it plays into your overall product design?
449
00:29:55.010 --> 00:29:55.970
It's a tough 1.
450
00:29:56.930 --> 00:29:58.425
It's a very hard subject.
451
00:29:58.905 --> 00:30:01.725
So the community members are grappling with,
452
00:30:02.425 --> 00:30:04.745
high order math. Like, they have to know,
453
00:30:05.225 --> 00:30:06.925
pretty advanced coding.
454
00:30:07.320 --> 00:30:16.784
They're grappling with a new API, our API, and and and terabytes of data that they've never seen or managed before. So it's, it's definitely a challenge that we
455
00:30:17.565 --> 00:30:20.145
are learning and growing from on a daily basis.
456
00:30:20.684 --> 00:30:20.924
But,
457
00:30:22.125 --> 00:30:24.150
we we just do our best to,
458
00:30:24.630 --> 00:30:29.290
make the the platform transparent so that you can see as much as possible
459
00:30:29.750 --> 00:30:31.130
to give the community,
460
00:30:31.670 --> 00:30:34.975
the tools that they're familiar with, like debugging,
461
00:30:36.235 --> 00:30:42.175
and then, and and sort of code inspection and the ability to to build algorithms in a familiar environment.
462
00:30:42.790 --> 00:30:45.049
And then, we just try to,
463
00:30:45.429 --> 00:30:45.929
really
464
00:30:46.230 --> 00:30:49.210
empower and highlight those people who are doing an awesome job.
465
00:30:49.590 --> 00:30:49.750
So,
466
00:30:50.804 --> 00:30:51.304
we
467
00:30:51.605 --> 00:31:00.345
we give people free live trading as much as possible. We give them free data so they can go and backtest on on massively powerful
468
00:31:00.950 --> 00:31:03.530
VMs in the cloud, on on terabytes of data.
469
00:31:04.070 --> 00:31:04.570
And,
470
00:31:05.510 --> 00:31:11.615
it's just, it's 1 of those things. We as a company are constantly evolving and constantly figuring out the answers to that 1.
471
00:31:12.395 --> 00:31:16.335
Recently, actually, just a couple of days ago, we deployed something that's
472
00:31:16.720 --> 00:31:17.220
awesome.
473
00:31:17.760 --> 00:31:18.260
And,
474
00:31:18.960 --> 00:31:20.180
it's a parameter
475
00:31:20.480 --> 00:31:21.620
detection system.
476
00:31:22.320 --> 00:31:23.540
So in quantitative
477
00:31:23.840 --> 00:31:24.340
research,
478
00:31:25.195 --> 00:31:26.335
there's certain
479
00:31:26.875 --> 00:31:30.255
ways where you can fall into common pitfalls.
480
00:31:30.715 --> 00:31:32.015
And if you're not careful,
481
00:31:32.540 --> 00:31:43.145
you can, design an algorithm that'll work perfectly on historical data and be extremely overfitted and be useless for live trading, and it could be very risky for you in live trading.
482
00:31:43.605 --> 00:31:53.140
So we've built a parameter detection system and a backtest counting system so that we can give people warnings. Hey. You're using 30 parameters in this algorithm.
483
00:31:53.519 --> 00:31:57.779
You know, did you know that with 30 parameters, you could paint the Mona Lisa?
484
00:31:58.725 --> 00:32:23.315
You could come up with a variable that'll literally paint the Mona Lisa, and and you could do it with a handful of variables. So, you know, try and try and avoid using so many parameters in your algorithm. So it's just a a continuous process that we're going through. I think that something like that is great that you have this feedback mechanism, particularly for people who are maybe just doing this as a hobby project to just dabble in what's involved in these higher order mathematics
485
00:32:23.615 --> 00:32:24.755
or trying to
486
00:32:26.040 --> 00:32:29.900
experiment with data science and data analytics. And so,
487
00:32:30.840 --> 00:32:32.860
I'm also wondering what the
488
00:32:33.605 --> 00:32:38.265
broad categories are of the types of users who interact with QuantConnect
489
00:32:38.805 --> 00:32:41.865
and what it is that keeps them engaged
490
00:32:42.299 --> 00:32:46.240
and continuing to work on and help you evolve the platform?
491
00:32:46.780 --> 00:32:50.480
Well, we are constantly amazed by the creative of our users.
492
00:32:51.265 --> 00:32:55.125
I work with, support, and I see what they are doing.
493
00:32:55.505 --> 00:32:55.664
They
494
00:32:56.385 --> 00:32:57.284
and it's incredible.
495
00:32:58.279 --> 00:33:02.940
And, they push us to develop the new technology every day, like German recognition,
496
00:33:03.559 --> 00:33:04.620
with the parameters
497
00:33:05.375 --> 00:33:05.875
count.
498
00:33:06.255 --> 00:33:12.275
By the way, that part, we we have done that with Python. It's a Python script that detects the parameters.
499
00:33:12.950 --> 00:33:14.789
Most of what we do, it's,
500
00:33:15.429 --> 00:33:17.289
intellectual property of the users.
501
00:33:18.070 --> 00:33:22.415
So we can discuss in details, like, in the examples that I I gave
502
00:33:22.795 --> 00:33:25.375
before. But they are there's, also
503
00:33:25.675 --> 00:33:26.175
work.
504
00:33:26.635 --> 00:33:27.455
For example,
505
00:33:28.075 --> 00:33:28.575
Marine,
506
00:33:29.275 --> 00:33:31.295
is built on open source Android application,
507
00:33:32.220 --> 00:33:34.880
to the API so people can control their live algorithm,
508
00:33:35.740 --> 00:33:39.360
on the go. Or James has released an open source optimizer.
509
00:33:40.125 --> 00:33:41.505
You can, run generic
510
00:33:42.044 --> 00:33:42.544
optimizations
511
00:33:42.924 --> 00:33:43.745
with Lean
512
00:33:44.125 --> 00:33:48.065
that we still don't support, but, eventually, we will do in the future.
513
00:33:48.620 --> 00:33:49.900
And and to give you more back
514
00:33:50.540 --> 00:33:56.720
To give you and to give you more background, the QuantConnect community is just so diverse. It's so hard to put them into 1 bucket.
515
00:33:57.100 --> 00:33:57.600
So,
516
00:33:58.385 --> 00:34:01.924
we have all the core STEM graduates, so science, technology,
517
00:34:02.225 --> 00:34:02.725
mathematics,
518
00:34:03.265 --> 00:34:07.670
chemistry, physics, anybody who's gone through that sort of programming and rigorous
519
00:34:08.150 --> 00:34:09.030
training. But then,
520
00:34:09.510 --> 00:34:13.050
there's there's about a third who are financial professionals.
521
00:34:13.510 --> 00:34:15.530
They might be working in the fund industry
522
00:34:15.830 --> 00:34:19.435
and doing this on the side or dreaming about starting their own
523
00:34:19.895 --> 00:34:20.375
fund. Or,
524
00:34:20.855 --> 00:34:21.335
there's,
525
00:34:21.655 --> 00:34:23.495
academics and traders and,
526
00:34:24.615 --> 00:34:29.579
just thousands of people from all over the world. There's about half of the community here in the US,
527
00:34:29.960 --> 00:34:34.220
but the other half are just spread out in in UK, Russia, China, India.
528
00:34:35.079 --> 00:34:35.819
It's fascinating.
529
00:34:36.644 --> 00:34:37.144
And
530
00:34:37.684 --> 00:34:45.464
what have been some of the most interesting or innovative or unexpected ways that you have seen people interacting with QuantConnect
531
00:34:45.960 --> 00:34:48.780
and using it and, just sort of
532
00:34:49.080 --> 00:34:54.540
building in terms of the types of strategies or tactics that they're leveraging?
533
00:34:54.920 --> 00:34:59.625
Yeah. So it's it's tough for us to talk about the individual strategies that people are building, but,
534
00:35:00.265 --> 00:35:05.005
broad strokes, there's everything from some fast to machine learning to portfolios.
535
00:35:05.600 --> 00:35:09.940
But then people also we've opened up an API to QuantConnect itself.
536
00:35:10.480 --> 00:35:11.200
And so,
537
00:35:12.080 --> 00:35:13.060
a a Netherlands,
538
00:35:14.000 --> 00:35:17.775
programmer has created a mobile application for Android,
539
00:35:18.075 --> 00:35:26.770
and it's actually got a full user interface for controlling, starting, and stopping your live trading algorithms. So we're a fairly small company and we're,
540
00:35:27.230 --> 00:35:29.730
we'd like to keep the whole company lean and,
541
00:35:30.109 --> 00:35:37.885
and, it's awesome to see the community sort of pick up areas where we haven't built yet. And they're just running with it and building epically,
542
00:35:38.505 --> 00:35:39.484
beautiful applications.
543
00:35:40.359 --> 00:35:40.859
And,
544
00:35:41.880 --> 00:35:42.380
James,
545
00:35:42.760 --> 00:35:46.780
I think his name last name is Christchurch, but I only know his Githand his Githandel.
546
00:35:48.165 --> 00:35:50.505
He's built a genetic optimizer.
547
00:35:50.885 --> 00:35:57.065
So you can actually just plug the the open source lean algorithmic trading engine into his genetic optimizer,
548
00:35:57.580 --> 00:35:59.180
and it'll go and it'll run,
549
00:35:59.820 --> 00:36:01.520
a batch genetic optimization
550
00:36:02.380 --> 00:36:14.565
on 100 or thousands of of lean strategies that'll run through it to find, the right parameters for your algorithm. So it's it's really awesome to see the community do that sort of stuff. It's all open source, and and,
551
00:36:15.480 --> 00:36:19.740
we we are constantly blown away by it. And for somebody who's interested
552
00:36:20.200 --> 00:36:22.380
in getting started with QuantConnect
553
00:36:22.955 --> 00:36:29.935
and quantitative finance and algorithmic trading in general. I'm wondering what the onboarding process looks like for
554
00:36:30.400 --> 00:36:31.300
building on QuantConnect
555
00:36:31.600 --> 00:36:33.619
and just some of the resources
556
00:36:34.160 --> 00:36:46.645
that you have found to be useful for people who are new to the area and want to start experimenting with it on their own time? We try to make this process as easy as possible, but ultimately, it is gonna be a little tricky
557
00:36:47.185 --> 00:36:52.390
because we're trying to introduce people who might come from a just a pure programming background
558
00:36:52.850 --> 00:36:57.135
to all of this quantitative world. But the first thing you do when you sign up,
559
00:36:57.615 --> 00:36:59.475
is you've got that coding environment,
560
00:36:59.855 --> 00:37:02.755
and we we put you into something we call boot camp.
561
00:37:03.215 --> 00:37:05.715
And boot camp is kind of like Udemy,
562
00:37:06.360 --> 00:37:07.560
where you have,
563
00:37:07.960 --> 00:37:09.340
a a little documentation
564
00:37:10.360 --> 00:37:11.720
and you have to do,
565
00:37:12.040 --> 00:37:13.900
we call them like a micro tutorial.
566
00:37:14.375 --> 00:37:16.635
You have to do the smallest possible step
567
00:37:17.015 --> 00:37:21.330
to move your algorithm towards production and getting it to run a back test.
568
00:37:21.890 --> 00:37:24.850
And so, we plan to build out the boot camp,
569
00:37:25.250 --> 00:37:26.710
library and and have
570
00:37:27.010 --> 00:37:31.325
hundreds of different boot camp tutorials where people can go through these micro
571
00:37:32.025 --> 00:37:32.525
steps
572
00:37:32.825 --> 00:37:37.964
and learn how to build really powerful algorithm algorithms. We also have a boatload of documentation
573
00:37:38.265 --> 00:37:40.340
so that people can go and read videos,
574
00:37:41.200 --> 00:37:43.460
and the community is is very engaged.
575
00:37:43.760 --> 00:38:04.290
We're very grateful for, the community and all their help to to help other community members. And looking broadly at the industry, I'm wondering what the trends are in quantitative finance and algorithmic trading that you find most exciting and the ones that you find most concerning as you look forward? I'm probably fairly biased.
576
00:38:05.045 --> 00:38:06.984
I don't I don't find too much concerning.
577
00:38:07.444 --> 00:38:09.704
But, I am very excited about,
578
00:38:10.964 --> 00:38:14.425
the move for finance to become more like Silicon Valley,
579
00:38:16.230 --> 00:38:18.410
especially in the last 2 to 3 years.
580
00:38:18.790 --> 00:38:20.570
You're seeing these large institutions
581
00:38:21.270 --> 00:38:31.155
start to open up. And that's something that we've been doing for years now. And we're we're happy to see these these beasts, you know, these large machines starting to come around to these ideas.
582
00:38:32.410 --> 00:38:36.830
And then, the the other big trends that we believe is is happening is this,
583
00:38:39.585 --> 00:38:42.325
you're no longer you're no longer judged
584
00:38:42.785 --> 00:38:44.325
by a single idea.
585
00:38:44.705 --> 00:38:47.365
You're judged by how fast you evolve
586
00:38:47.665 --> 00:38:48.724
and how fast
587
00:38:49.150 --> 00:38:51.569
your ideas can can iterate and evolve.
588
00:38:52.030 --> 00:38:54.130
And the financial markets are
589
00:38:55.309 --> 00:38:57.735
are driving that. The the markets are changing
590
00:38:58.115 --> 00:39:00.775
faster than they ever have before, and that's forcing
591
00:39:01.235 --> 00:39:01.735
people
592
00:39:02.035 --> 00:39:03.255
to change and automate
593
00:39:04.180 --> 00:39:04.680
faster,
594
00:39:05.060 --> 00:39:08.840
better, and new unique ideas more than they ever have before.
595
00:39:09.140 --> 00:39:13.240
And so that automation is really part of the key of QuantConnect's Alpha Streams.
596
00:39:13.765 --> 00:39:19.464
We see that the individual funds can't compete against thousands and thousands of quants in the community.
597
00:39:19.845 --> 00:39:22.744
And so by pairing a fund with the community,
598
00:39:23.220 --> 00:39:27.480
we think that they can be equipped to evolve fast enough to keep up with the markets.
599
00:39:27.780 --> 00:39:30.600
And it's really the core of the Alpha Stream vision. And
600
00:39:30.995 --> 00:39:33.415
in terms of the future of QuantConnect,
601
00:39:33.955 --> 00:39:37.255
what do you have planned in terms of overall
602
00:39:37.635 --> 00:39:40.180
features or growth for the platform
603
00:39:40.560 --> 00:39:46.100
or plans that you have for helping to foster the community and help them thrive?
604
00:39:48.525 --> 00:39:49.825
We are investing
605
00:39:50.125 --> 00:39:55.025
every day a lot in our education, in the platform, making it better for the community.
606
00:39:56.205 --> 00:39:56.705
And
607
00:39:57.090 --> 00:39:59.110
ultimately, all of this is to drive
608
00:39:59.410 --> 00:39:59.910
licensing
609
00:40:00.210 --> 00:40:04.950
and and get these community members connected with funds so that they can earn revenue.
610
00:40:05.434 --> 00:40:08.895
And so that's really what inspires us. We want to get these users,
611
00:40:09.355 --> 00:40:18.170
we wanna give them as much research about cutting edge quantitative commute, techniques so they can make the best live trading algorithms, so they can get, licensed
612
00:40:18.549 --> 00:40:19.849
and distributed to funds.
613
00:40:20.309 --> 00:40:27.215
So really grow this to the largest quantitative community of alga traders and developers and coders in the world
614
00:40:27.675 --> 00:40:35.050
and, pair them with the best technology possible. And in the process, what we're doing is we're making the industry more efficient.
615
00:40:35.430 --> 00:40:40.250
You've got all of these institutions all repeating the same thing, and it's incredibly inefficient.
616
00:40:40.815 --> 00:40:41.375
So by,
617
00:40:42.175 --> 00:40:42.675
making
618
00:40:42.975 --> 00:40:43.635
the platform
619
00:40:44.175 --> 00:40:46.835
better, we can make the whole industry more efficient
620
00:40:47.135 --> 00:40:48.355
and, empower
621
00:40:48.680 --> 00:40:56.460
people from all around the world based on the merit of their ideas. And that's that's really the core of our passion. And are there any other aspects
622
00:40:56.835 --> 00:40:57.734
of QuantConnect,
623
00:40:58.194 --> 00:41:09.230
any of its various aspects, or the overall space of quantitative finance that we didn't discuss yet, but that you'd like to cover before we close out the show? Yeah. I think, the industry,
624
00:41:09.530 --> 00:41:11.310
needs as much brain as possible,
625
00:41:12.010 --> 00:41:12.670
to foster,
626
00:41:13.050 --> 00:41:13.790
more innovation,
627
00:41:15.125 --> 00:41:16.805
and that's it. Oh, I suppose,
628
00:41:17.285 --> 00:41:18.025
we're recruiting.
629
00:41:18.645 --> 00:41:22.025
We are looking for people who love hard challenges,
630
00:41:23.349 --> 00:41:27.769
and we have epically hard challenges. So if if you're interested in
631
00:41:28.069 --> 00:41:28.569
solving
632
00:41:28.950 --> 00:41:30.010
how do we get
633
00:41:30.365 --> 00:41:34.065
debugging for thousands of people when they're backtesting terabytes of data
634
00:41:34.365 --> 00:41:34.765
and,
635
00:41:35.165 --> 00:41:38.305
you know, figuring out how to do that in a multi language environment,
636
00:41:39.180 --> 00:41:44.720
and worrying about memory leaks and pinning and cross domain serial is typically hard problems.
637
00:41:45.099 --> 00:41:48.640
So if that sounds like you, then check out our open source.
638
00:41:49.245 --> 00:41:52.145
Good point. I was also thinking about the data quality.
639
00:41:53.165 --> 00:41:53.665
Maybe,
640
00:41:54.125 --> 00:42:00.130
people can come data scientists can come up to help us to improve our data. That's also important,
641
00:42:00.430 --> 00:42:02.530
especially now that we are going to have,
642
00:42:02.910 --> 00:42:07.525
alternative data from, other markets that's not just price data. So
643
00:42:07.825 --> 00:42:10.085
it's it's very important to To to further
644
00:42:10.705 --> 00:42:17.440
to to give some background to that, we have terabytes of this price data. So futures, options,
645
00:42:17.980 --> 00:42:18.480
equities,
646
00:42:18.780 --> 00:42:19.280
forex,
647
00:42:19.740 --> 00:42:20.240
crypto,
648
00:42:20.620 --> 00:42:21.120
and
649
00:42:21.500 --> 00:42:24.320
really though to to build an algorithm,
650
00:42:24.965 --> 00:42:35.670
there's a little bit more than just price data that that's required. So most people, they say, hey, when we'll just apply this technical indicator to this price data
651
00:42:36.130 --> 00:42:40.470
and that'll be our strategy. But most of the time, because that,
652
00:42:41.250 --> 00:42:41.750
strategy
653
00:42:42.545 --> 00:42:48.885
because all of that price data is open, all of those technical strategies that might have worked in the 19 seventies,
654
00:42:49.185 --> 00:42:50.005
19 eighties,
655
00:42:50.630 --> 00:42:53.369
they don't really work in live trading anymore.
656
00:42:53.990 --> 00:42:54.789
So the whole,
657
00:42:55.190 --> 00:42:58.010
financial industry is moving towards using
658
00:42:58.665 --> 00:43:00.765
alternative data in their strategies.
659
00:43:01.625 --> 00:43:06.925
1 other big thing I think that's happening at the moment that's really important for the community to understand
660
00:43:07.225 --> 00:43:08.285
is this move
661
00:43:09.760 --> 00:43:10.580
from focusing
662
00:43:11.280 --> 00:43:13.060
on price data alone
663
00:43:13.600 --> 00:43:15.060
to focusing on
664
00:43:15.360 --> 00:43:16.740
a core hypothesis.
665
00:43:17.785 --> 00:43:24.765
So when people are designing an algorithm, they're they're pulling in much more of the scientific method. So
666
00:43:25.119 --> 00:43:30.180
instead of just saying, I'm gonna hack around with the starter until I find something that fits,
667
00:43:30.640 --> 00:43:33.140
they first need to start with an idea.
668
00:43:33.895 --> 00:43:37.995
And that idea has to be something fundamental that'll move the markets.
669
00:43:38.775 --> 00:43:39.675
So, for example,
670
00:43:40.455 --> 00:43:42.050
you might say that,
671
00:43:42.530 --> 00:43:44.230
when there's more sunshine,
672
00:43:45.010 --> 00:43:46.150
you're going to have
673
00:43:46.690 --> 00:43:47.590
more oranges
674
00:43:47.970 --> 00:43:48.470
produced,
675
00:43:49.595 --> 00:43:51.055
and that is going to cause
676
00:43:51.434 --> 00:43:53.934
a surplus of supply of oranges,
677
00:43:54.234 --> 00:43:56.174
and so orange juice futures
678
00:43:56.555 --> 00:43:58.494
contracts are probably going to fall.
679
00:43:59.280 --> 00:44:01.859
And so there's a definite cause and effect
680
00:44:02.160 --> 00:44:02.880
of that,
681
00:44:03.599 --> 00:44:08.595
relationship between the sunshine and the orange juice. And it might be weak and it might just be
682
00:44:08.895 --> 00:44:09.555
a hypothesis,
683
00:44:10.255 --> 00:44:18.109
but then you need to go and you test your idea and you see if it has merit. And so you might pull in things like, if the Federal Bank,
684
00:44:18.970 --> 00:44:20.510
increases interest rates,
685
00:44:20.970 --> 00:44:30.845
then the mortgage rates are going to go up. And so, thus, any real estate investment ETFs are probably going to go down, because they won't be able to buy as much with the capital that they have.
686
00:44:31.520 --> 00:44:33.620
And so there's lots of different cause and effects,
687
00:44:34.000 --> 00:44:35.780
whether it be in the real world,
688
00:44:36.080 --> 00:44:38.740
like looking around you and seeing how things interact,
689
00:44:39.125 --> 00:44:42.984
or in sort of the virtual world, in the financial markets and how
690
00:44:43.365 --> 00:44:45.464
different mechanisms interact with each other.
691
00:44:45.765 --> 00:44:47.464
But really to to
692
00:44:48.180 --> 00:44:48.840
to monetize
693
00:44:49.140 --> 00:44:49.880
those things,
694
00:44:50.180 --> 00:44:52.120
your algorithm needs to be connected
695
00:44:52.420 --> 00:44:55.720
to what's called these days as alternative data.
696
00:44:56.125 --> 00:44:59.105
It's data which is not just the price data of the markets.
697
00:44:59.645 --> 00:45:01.505
It's it's a signal
698
00:45:01.805 --> 00:45:15.465
that's about the world. You know. It's a signal about sunshine and and the current sunshine hours in Florida or, you know, the current federal interest rates, and using that as a way that your algorithm can start to trade and act on those signals.
699
00:45:15.925 --> 00:45:19.305
And so, at QuantConnect, recently, we've started this project,
700
00:45:19.790 --> 00:45:21.890
to work with alternative data vendors
701
00:45:22.430 --> 00:45:25.330
and get them to import their data into the QuantConnect repository.
702
00:45:25.710 --> 00:45:29.725
And that way our community can go and design these epically powerful algorithms
703
00:45:30.505 --> 00:45:34.685
on not just price data, but all of this alternative data that covers,
704
00:45:35.145 --> 00:45:37.245
you know, social sentiment, Twitter,
705
00:45:39.130 --> 00:45:40.430
you know, jobs numbers,
706
00:45:42.650 --> 00:45:44.349
real world data like weather,
707
00:45:44.730 --> 00:45:45.230
temperature,
708
00:45:45.690 --> 00:45:49.905
everything. As much data as we can find, we're pulling into QuantConnect right now.
709
00:45:50.365 --> 00:45:57.540
So it's a really, challenging project in terms of engineering, but also it's going to empower the community to make such amazing strategies.
710
00:45:58.240 --> 00:46:08.234
Yeah. That's definitely something that is, as you said, challenging and complicated, but also interesting in terms of just the breadth and scope of the problem domain
711
00:46:08.775 --> 00:46:09.575
and how that,
712
00:46:11.260 --> 00:46:13.040
how the level of sophistication
713
00:46:13.500 --> 00:46:14.560
that is required
714
00:46:15.099 --> 00:46:18.640
has grown since the financial markets first became,
715
00:46:19.484 --> 00:46:24.144
able to be interacted with in a computational fashion just because of the
716
00:46:24.525 --> 00:46:25.025
increasing
717
00:46:25.325 --> 00:46:27.105
globalization and inter interconnectedness
718
00:46:27.490 --> 00:46:29.430
of our various financial markets,
719
00:46:30.050 --> 00:46:32.710
as, you know, transportation and communication
720
00:46:33.730 --> 00:46:37.884
catapults us further into the 21st century and these,
721
00:46:38.424 --> 00:46:46.410
just global economies and yeah. It's a fascinating area. So it's definitely interesting to hear about how you're trying to,
722
00:46:46.950 --> 00:46:52.810
help provide your users the ability to leverage that additional data to be more effective in their strategies.
723
00:46:53.595 --> 00:46:54.734
Yeah. You've heard the
724
00:46:55.275 --> 00:47:01.855
the the meme, basically, that there's just what is it? Data's growing at double the rate each year or something like that. There's
725
00:47:02.420 --> 00:47:07.780
thousands of terabytes of data being added every day, and then it's it's so true. And you're seeing even,
726
00:47:08.180 --> 00:47:10.280
you know, mainstream government websites
727
00:47:10.965 --> 00:47:12.585
totally opening up their datasets.
728
00:47:13.125 --> 00:47:15.785
And so it's becoming this challenge to
729
00:47:16.405 --> 00:47:24.090
import all of that data and and analyze it and and be put it into a usable form so that you can run an algorithm on it. And,
730
00:47:25.270 --> 00:47:28.810
our job is we build say we build in 1 dataset.
731
00:47:29.855 --> 00:47:33.395
With that 1 dataset, you can do a 1, 000 different algorithms.
732
00:47:33.935 --> 00:47:38.056
And that's the the brilliant thing we love seeing. You know, if you're a,
733
00:47:38.570 --> 00:47:39.070
agriculture
734
00:47:39.370 --> 00:47:39.870
engineer,
735
00:47:40.570 --> 00:47:52.724
or you've worked in that industry, you might be familiar with, you know, orange juice and sunshine. Or if you're a solar engineer, you might go and be familiar with the solar industry and how sunshine now is gonna affect electricity generation.
736
00:47:53.230 --> 00:48:03.565
And so there's just thousands of different ways that people with their own unique mindsets and and and abilities can write completely different algorithms on exactly the same dataset.
737
00:48:03.944 --> 00:48:10.120
Now that's that's the power of a global community like QuantConnect because it's not about our ideas or what we do.
738
00:48:10.520 --> 00:48:39.255
All we do is put 1 data set up and then individual people from all over the world make a 1, 000 different ideas from that. And it's so cool to see. Yeah. Definitely excited to see the work that you're doing, and I'm curious to see how the incorporation of those alternative datasets are going to help, enrich the capabilities of the people using your platform. And so for anybody who wants to follow along with the work that you're doing or get in touch, I'll have you add your preferred contact information to the show notes.
739
00:48:39.635 --> 00:48:47.580
And so with that, I'll move us into the picks. And this week, I'm going to choose Good Omens, both the book and the miniseries that was recently released.
740
00:48:48.760 --> 00:48:57.525
It's definitely a great storyline. I watched the first episode of the miniseries recently, and I think they did a very good job of that. So I'm excited to watch the rest of it. So,
741
00:48:58.410 --> 00:49:06.670
if you're looking for a new piece of fiction to pick up and engage with, I definitely recommend that. And so with that, I'll pass it to you, Jared. Do you have any picks this week?
742
00:49:07.234 --> 00:49:11.015
I got into the I think it's HBO series Chernobyl.
743
00:49:12.194 --> 00:49:13.734
It's it's following the,
744
00:49:14.595 --> 00:49:15.654
like a story
745
00:49:16.080 --> 00:49:16.820
form documentary
746
00:49:17.440 --> 00:49:18.980
on the Chernobyl disaster.
747
00:49:19.440 --> 00:49:20.580
And, it's amazing.
748
00:49:21.280 --> 00:49:23.815
I love it so much. Highly recommend it.
749
00:49:24.375 --> 00:49:27.915
I'll have to take a look at that. Alex, do you have any picks this week?
750
00:49:28.935 --> 00:49:34.000
Yes. For, this week, I'm going to pick it the the series, the 100,
751
00:49:34.940 --> 00:49:36.480
because it talks about,
752
00:49:37.980 --> 00:49:39.520
the future of the humanity
753
00:49:40.385 --> 00:49:41.204
and the dangers
754
00:49:43.025 --> 00:49:45.684
of, artificial intelligence. So I think it's,
755
00:49:45.984 --> 00:49:48.724
fitting to the to what we'll be talking about.
756
00:49:49.110 --> 00:49:55.210
Alright. Well, thank you both for taking the time today to join me and discuss the work that you're doing on QuantConnect
757
00:49:55.590 --> 00:49:58.565
and in the quantitative finance realm. It's
758
00:50:04.565 --> 00:50:05.704
interested in,
759
00:50:06.119 --> 00:50:14.299
experimenting with. So thank you for your time and energy on that, and I hope you enjoy the rest of your day. Thank you very much, Tobias. It was great to chat. Thanks, Tobias.
760
00:50:14.680 --> 00:50:15.145
Bye.