Skip to content

Commit a550fb4

Browse files
authored
Merge pull request #3 from Joseph-Matteo-Scorsone/databento-integration
Improvements.
2 parents 6faf7dd + 4150782 commit a550fb4

File tree

9 files changed

+176
-268
lines changed

9 files changed

+176
-268
lines changed

Demonstration.cs

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
using QuantConnect.Securities.Future;
2323
using QuantConnect.Util;
2424
using System;
25+
using System.Linq;
2526

2627
namespace QuantConnect.Algorithm.CSharp
2728
{
@@ -39,7 +40,19 @@ public override void Initialize()
3940

4041
var exp = new DateTime(2025, 12, 19);
4142
var symbol = QuantConnect.Symbol.CreateFuture("ES", Market.CME, exp);
43+
//_es = AddFutureContract(symbol, Resolution.Tick, true, 1, true);
4244
_es = AddFutureContract(symbol, Resolution.Second, true, 1, true);
45+
Log($"_es: {_es}");
46+
47+
var history = History<TradeBar>(_es.Symbol, 10, Resolution.Minute).ToList();
48+
49+
Log($"History returned {history.Count} bars");
50+
51+
foreach (var bar in history)
52+
{
53+
Log($"History Bar: {bar.Time} - O:{bar.Open} H:{bar.High} L:{bar.Low} C:{bar.Close} V:{bar.Volume}");
54+
}
55+
4356
}
4457

4558
public override void OnData(Slice slice)
@@ -51,13 +64,13 @@ public override void OnData(Slice slice)
5164
}
5265

5366
Log($"OnData: Slice has {slice.Count} data points");
54-
67+
5568
// For Tick resolution, check Ticks collection
5669
if (slice.Ticks.ContainsKey(_es.Symbol))
5770
{
5871
var ticks = slice.Ticks[_es.Symbol];
5972
Log($"Received {ticks.Count} ticks for {_es.Symbol}");
60-
73+
6174
foreach (var tick in ticks)
6275
{
6376
if (tick.TickType == TickType.Trade)
@@ -70,12 +83,11 @@ public override void OnData(Slice slice)
7083
}
7184
}
7285
}
73-
74-
// These won't have data for Tick resolution
75-
if (slice.Bars.ContainsKey(_es.Symbol))
86+
87+
// Access OHLCV bars
88+
foreach (var bar in slice.Bars.Values)
7689
{
77-
var bar = slice.Bars[_es.Symbol];
78-
Log($"Bar - O:{bar.Open} H:{bar.High} L:{bar.Low} C:{bar.Close} V:{bar.Volume}");
90+
Log($"OHLCV BAR: {bar.Symbol.Value} - O: {bar.Open}, H: {bar.High}, L: {bar.Low}, C: {bar.Close}, V: {bar.Volume}");
7991
}
8092
}
8193
}

DemonstrationUniverse.cs

Lines changed: 0 additions & 28 deletions
This file was deleted.

QuantConnect.DataBento.Tests/QuantConnect.DataSource.DataBento.Tests.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
</PropertyGroup>
66
<ItemGroup>
77
<Compile Include="..\Demonstration.cs" Link="Demonstration.cs" />
8-
<Compile Include="..\DemonstrationUniverse.cs" Link="DemonstrationUniverse.cs" />
98
</ItemGroup>
109
<ItemGroup>
1110
<PackageReference Include="protobuf-net" Version="3.1.33" />

QuantConnect.DataBento/DataBentoDataDownloader.cs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,13 @@
3333
namespace QuantConnect.Lean.DataSource.DataBento
3434
{
3535
/// <summary>
36-
/// Data downloader class for pulling data from Data Provider
36+
/// Data downloader for historical data from DataBento's Raw HTTP API
37+
/// Converts DataBento data to Lean data types
3738
/// </summary>
3839
public class DataBentoDataDownloader : IDataDownloader, IDisposable
3940
{
40-
/// <inheritdoc cref="HttpClient"/>
4141
private readonly HttpClient _httpClient;
42-
4342
private readonly string _apiKey;
44-
4543
private const decimal PriceScaleFactor = 1e-9m;
4644

4745
/// <summary>
@@ -72,8 +70,6 @@ public IEnumerable<BaseData> Get(DataDownloaderGetParameters parameters)
7270
{
7371
var symbol = parameters.Symbol;
7472
var resolution = parameters.Resolution;
75-
var startUtc = parameters.StartUtc;
76-
var endUtc = parameters.EndUtc;
7773
var tickType = parameters.TickType;
7874

7975
var dataset = "GLBX.MDP3"; // hard coded for now. Later on can add equities and options with different mapping
@@ -85,8 +81,8 @@ public IEnumerable<BaseData> Get(DataDownloaderGetParameters parameters)
8581
body.Append($"dataset={dataset}");
8682
body.Append($"&symbols={dbSymbol}");
8783
body.Append($"&schema={schema}");
88-
body.Append($"&start={startUtc:yyyy-MM-ddTHH:mm}");
89-
body.Append($"&end={endUtc:yyyy-MM-ddTHH:mm}");
84+
body.Append($"&start={parameters.StartUtc:yyyy-MM-ddTHH:mm}");
85+
body.Append($"&end={parameters.EndUtc:yyyy-MM-ddTHH:mm}");
9086
body.Append("&stype_in=parent");
9187
body.Append("&encoding=csv");
9288

0 commit comments

Comments
 (0)