.NET SDK for Alpaca Markets API
Package | Stable | Pre-release |
---|---|---|
Alpaca.Markets | ||
Alpaca.Markets.Extensions |
.NET Core Usage Example
- Create a new console application in a new, empty folder by running
dotnet new console
. - Add a reference for Alpaca .NET SDK with
dotnet add package Alpaca.Markets
. - Replace content of the auto-generated
Programm.cs
file with this code snippet:
using System;
using Alpaca.Markets;
using System.Threading.Tasks;
namespace AlpacaExample
{
internal static class Program
{
private const String KEY_ID = "";
private const String SECRET_KEY = "";
public static async Task Main()
{
var client = Environments.Paper
.GetAlpacaTradingClient(new SecretKey(KEY_ID, SECRET_KEY));
var clock = await client.GetClockAsync();
if (clock != null)
{
Console.WriteLine(
"Timestamp: {0}, NextOpen: {1}, NextClose: {2}",
clock.TimestampUtc, clock.NextOpenUtc, clock.NextCloseUtc);
}
}
}
}
- Replace
KEY_ID
andSECRET_KEY
values with your own data from the Alpaca dashboard. - Run the sample application using
dotnet run
command and check the output. You should see information about the current market timestamp and the times that the market will open and close next.
See the UsageExamples project for near-to-real-world strategy implementation using this SDK and the Alpaca.Markets.Tests repository for SDK usage examples. The Wiki pages contain a lot of additional information about different aspects of this SDK (environments handling, authentication types, different order placement approaches, streaming client subscriptions handling, etc.).
Alpaca Data API subscription plans
Alpaca provides 3 different subscription plans for the Data API v2 real-time streaming data: Free, Unlimited, and Business. The first one provides only IEX data and has some subscription limits. Other plans provide full SIP data without data subscription limits. The IAlpacaDataStreamingClient
interface and its implementation from SDK provide unified access for both streams.
Use the Environments.Paper.GetAlpacaDataStreamingClient(...)
factory method for creating client connected to the Free IEX data stream. For the Unlimited and Business SIP data stream use the Environments.Live.GetAlpacaDataStreamingClient(...)
code. So Paper environment for free data tier and Live for paid subscriptions.
Mapping between branches and SDK versions
Branch | Version | Description | Milestone |
---|---|---|---|
develop | 7.0.x | Unstable - experimental, can contain bugs | SDK 7.0.x Experimental |
master | 6.x | Stable - good choice for the new development | SDK 6.x Stable |
Build instructions
- Install the latest version of the .NET 7.0 SDK for your OS.
- Clone the local version of this repository or your own fork (if you want to make changes).
- Build the packages using the
dotnet build
command running in the root directory of the cloned repo.
Contributors
Thanks a lot for all contributors. See the full list of project supporters in the CONTRIBUTORS file.