Boutquin.MarketData.Adapter.TwelveData
1.0.2
dotnet add package Boutquin.MarketData.Adapter.TwelveData --version 1.0.2
NuGet\Install-Package Boutquin.MarketData.Adapter.TwelveData -Version 1.0.2
<PackageReference Include="Boutquin.MarketData.Adapter.TwelveData" Version="1.0.2" />
<PackageVersion Include="Boutquin.MarketData.Adapter.TwelveData" Version="1.0.2" />
<PackageReference Include="Boutquin.MarketData.Adapter.TwelveData" />
paket add Boutquin.MarketData.Adapter.TwelveData --version 1.0.2
#r "nuget: Boutquin.MarketData.Adapter.TwelveData, 1.0.2"
#:package Boutquin.MarketData.Adapter.TwelveData@1.0.2
#addin nuget:?package=Boutquin.MarketData.Adapter.TwelveData&version=1.0.2
#tool nuget:?package=Boutquin.MarketData.Adapter.TwelveData&version=1.0.2
Boutquin.MarketData.Adapter
Note: CI is currently disabled pending publication of
Boutquin.MarketData.*kernel packages to nuget.org. Rundotnet buildanddotnet testlocally before submitting a PR.
Concrete data source adapters for the Boutquin.MarketData kernel. Each adapter implements IDataSourceAdapter<TRequest, TRecord> from Boutquin.MarketData.Abstractions and self-registers via an AddMarketData*() extension method on IServiceCollection. Adapters are standalone NuGet packages — install only the ones you need.
Adapters
| Package | Provider | Records | Auth |
|---|---|---|---|
Boutquin.MarketData.Adapter.Tiingo |
Tiingo | Bar, InstrumentMetadata |
API token |
Boutquin.MarketData.Adapter.TwelveData |
Twelve Data | Bar, InstrumentMetadata |
API key |
Boutquin.MarketData.Adapter.Frankfurter |
Frankfurter (ECB FX) | FxRate |
Anonymous |
Boutquin.MarketData.Adapter.Fred |
FRED (St. Louis Fed) | ScalarObservation |
API key |
Boutquin.MarketData.Adapter.BankOfCanada |
Bank of Canada | YieldCurveQuote, FxRate, ScalarObservation (CORRA) |
Anonymous |
Boutquin.MarketData.Adapter.NewYorkFed |
NY Fed Markets API | ScalarObservation (SOFR) |
Anonymous |
Boutquin.MarketData.Adapter.UsTreasury |
US Treasury H.15 | YieldCurveQuote |
Anonymous |
Boutquin.MarketData.Adapter.BankOfEngland |
BoE IADB | ScalarObservation (SONIA) |
Anonymous |
Boutquin.MarketData.Adapter.Ecb |
ECB SDMX | ScalarObservation (ESTR) |
Anonymous |
Boutquin.MarketData.Adapter.FamaFrench |
Ken French Data Library | FactorObservation |
Anonymous |
Boutquin.MarketData.Adapter.Cme |
CME Group settlement CSV files | FuturesSettlement |
File-based |
See docs/adapters.md for per-adapter configuration details, rate limits, publication lag notes, and data-quality caveats.
Design Principles
- Each adapter is a standalone NuGet package with no dependency on other adapters
- Self-registering DI: each adapter provides a single
AddMarketData*()extension method - Canonical-first: adapters emit typed records, not dictionaries
DataDateonDataProvenanceis the actual business date of data served, which may differ from the requested date for sources with publication lagDATE_ROLLBACKDataIssueemitted when actual data date precedes the requested date (e.g., requesting Monday SOFR before the NY Fed publishes returns Friday's fixing)- No adapter depends on another adapter or on domain packages (
Boutquin.Analytics,Boutquin.Trading,Boutquin.OptionPricing)
Quick Start
// Add the kernel from Boutquin.MarketData.DependencyInjection,
// then attach whichever adapters you need.
services
.AddMarketDataKernel()
.AddMarketDataTiingo(opts =>
{
opts.ApiToken = configuration["Tiingo:ApiToken"]!;
})
.AddMarketDataFred(opts =>
{
opts.ApiKey = configuration["Fred:ApiKey"]!;
})
.AddMarketDataNewYorkFed();
Then fetch via IDataPipeline:
var result = await pipeline.FetchAsync(
new PriceHistoryRequest(symbols, dateRange),
cancellationToken);
foreach (var bar in result.Records)
Console.WriteLine($"{bar.Symbol} {bar.Date}: close={bar.Close}");
Building
dotnet build Boutquin.MarketData.Adapter.slnx --configuration Release
dotnet test Boutquin.MarketData.Adapter.slnx --configuration Release
dotnet format Boutquin.MarketData.Adapter.slnx --verify-no-changes
Local Development (Before Kernel Is on NuGet)
The nuget.config resolves Boutquin.MarketData.* packages from a local feed at ../Boutquin.MarketData/nupkg. Pack the kernel locally first:
cd ../Boutquin.MarketData
dotnet pack --configuration Release /p:MinVerVersionOverride=0.1.0-local --output nupkg
Documentation
- Adapter Reference — per-adapter configuration, auth, publication lag, and data-quality notes
Disclaimer
Boutquin.MarketData.Adapter is open-source software provided under the Apache 2.0 License. It is a general-purpose library intended for educational and research purposes.
This software does not constitute financial advice. The data retrieval and normalization tools are provided as-is for research and development. Before using any market data or derived calculations in production, consult with qualified professionals who understand your specific requirements and regulatory obligations.
License
Licensed under the Apache License, Version 2.0.
Copyright (c) 2026 Pierre G. Boutquin. All rights reserved.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Boutquin.MarketData.Abstractions (>= 1.0.1)
- Boutquin.MarketData.Adapter.Shared (>= 1.0.2)
- Boutquin.MarketData.Storage (>= 1.0.1)
- Boutquin.MarketData.Transport (>= 1.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.6)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.6)
- Microsoft.Extensions.Options (>= 10.0.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.