PulseTrade.MarketData.TAResearch.Contracts
0.1.0-alpha5
dotnet add package PulseTrade.MarketData.TAResearch.Contracts --version 0.1.0-alpha5
NuGet\Install-Package PulseTrade.MarketData.TAResearch.Contracts -Version 0.1.0-alpha5
<PackageReference Include="PulseTrade.MarketData.TAResearch.Contracts" Version="0.1.0-alpha5" />
<PackageVersion Include="PulseTrade.MarketData.TAResearch.Contracts" Version="0.1.0-alpha5" />
<PackageReference Include="PulseTrade.MarketData.TAResearch.Contracts" />
paket add PulseTrade.MarketData.TAResearch.Contracts --version 0.1.0-alpha5
#r "nuget: PulseTrade.MarketData.TAResearch.Contracts, 0.1.0-alpha5"
#:package PulseTrade.MarketData.TAResearch.Contracts@0.1.0-alpha5
#addin nuget:?package=PulseTrade.MarketData.TAResearch.Contracts&version=0.1.0-alpha5&prerelease
#tool nuget:?package=PulseTrade.MarketData.TAResearch.Contracts&version=0.1.0-alpha5&prerelease
PulseTrade.MarketData.TAResearch.Contracts
本package定義PTMD TAResearch的transport-neutral projection、query與correction API,不依賴Storage、SQL、Akka、PTCS、Dynamic或provider SDK。
Data flow
provider / live materializer / PCSL replay
-> validate source-specific input
-> map KHistoryRow to TaOhlcvBar
-> KHistoryProjectionEnvelope
-> IKHistoryProjectionSink
-> SQL serving projection or existing-storage adapter
PTCS.Host / E2EQ
-> range/delta or latest/trading-day query
-> ITaResearchQueryProvider + optional ITaResearchWindowQueryProvider
-> TaHistoryReply
admin / reconcile host
-> TaCorrectionCommand
-> ITaResearchCorrectionStore
-> append-only TaCorrectionAuditRow
TaOhlcvBar是wire row;既有PulseTrade.MarketData.Storage.KHistoryRow維持原專案內,不為了packaging搬動或破壞相容性。adapter負責兩者轉換。
Validation
- interval只接受
1/5/30/60/930。 930只接受MDC source與mdc-cme-half-day-930k,missing/unknown policy fail closed。- OHLC、time range、volume、input count、sealed/partial與revision均需通過
TaResearchValidation。source watermark可晚於historical bar close,因為它描述整條source stream進度,不是該bar event time。 - query預設最早
2018-01-01、range 366 days、最多10000 bars;Host可提供更嚴格limits。 - cursor為versioned opaque Base64Url JSON,並綁source/instrument/interval;未知版本、損壞或跨instrument重用會拒絕。
Low-cognitive F# API
let sink: IKHistoryProjectionSink =
{ AppendAsync = fun envelope ct -> implementation.AppendAsync(envelope, ct)
FlushAsync = fun ct -> implementation.FlushAsync(ct)
HealthAsync = fun ct -> implementation.HealthAsync(ct) }
let provider: ITaResearchQueryProvider =
{ QueryRangeAsync = fun query ct -> implementation.QueryRangeAsync(query, ct)
QueryDeltaAsync = fun query ct -> implementation.QueryDeltaAsync(query, ct)
QueryHealthAsync = fun ct -> implementation.QueryHealthAsync(ct) }
let windowProvider: ITaResearchWindowQueryProvider =
{ QueryLatestAsync = fun query ct -> implementation.QueryLatestAsync(query, ct)
QueryTradingDayAsync = fun query ct -> implementation.QueryTradingDayAsync(query, ct) }
let correctionStore: ITaResearchCorrectionStore =
{ AppendAsync = fun command ct -> implementation.AppendAsync(command, ct)
ListAuditAsync = fun key maxRows ct -> implementation.ListAuditAsync(key, maxRows, ct) }
correction使用RequestId作idempotency key。non-void command至少提供一個OHLCV patch;void command必須以SupersedesId指向同一bar的既有correction。登入只證明identity,實際write仍需Host/ACL explicit allow;contracts本身不承擔authentication/authorization。
呼叫端先執行validation;SQL provider仍需在transaction/query boundary再次驗證,不可信任browser或adapter已驗證。
| 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
- FSharp.Core (>= 10.1.301)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on PulseTrade.MarketData.TAResearch.Contracts:
| Package | Downloads |
|---|---|
|
PulseTrade.MarketData.TAResearch.Host
Query-only HTTP host for PTMD TAResearch SQL serving store. |
|
|
PulseTrade.MarketData.Storage.SqlServer
SQL Server projection and query provider for PTMD TAResearch. |
|
|
PulseTrade.MarketData.E2EQuotation.Dynamic.Adapter
E2EQuotation-specific mapper for transport-neutral Dynamic TA runtime frames and actions. |
|
|
PulseTrade.MarketData.TAResearch
Provider-neutral OHLCV materialization for PTMD TAResearch. |
|
|
PulseTrade.MarketData.TAResearch.Client
Typed HTTP split-service client for PulseTrade market-data TA research queries. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-alpha5 | 132 | 7/12/2026 |
| 0.1.0-alpha4 | 72 | 7/12/2026 |