このリポジトリには、ALPACA APIで使用するPHP SDKが含まれています。
免責事項:これは公式のSDKではなく、アルパカとは何らかの形で提携しておらず、承認されていません。
このライブラリのv3.0.0のリリースを使用すると、Alpaca Data API V2を使用します。 getLastTradeおよびgetLastQuoteメソッドは後方互換性があり、コードベースに変更を必要としません。
getBarsメソッドは逆方向に互換性がないため、コードベースを更新して、以下の市場データセクションにある新しいメソッド署名を使用する必要があります。
このライブラリのv2.0.0のリリースにより、Alpaca APIのV2を使用します。ただし、このメソッドはすべて、このライブラリのv1.0.0とAlpaca APIのV1と逆方向に互換性があるため、 composer.jsonファイルのパッケージバージョンを更新してインストールするのと同じくらい簡単です。すべてが以前と同じように機能するはずですが、今では新しい方法と新しいメソッドパラメーターにアクセスできるようになりました。
注:このパッケージには現在、php> = 7.2.5が必要です
$ composer require jeffreyhyer/alpaca-trade-api-phpPHPアプリケーション内から、数行のみでAlpaca APIにアクセスできます。
<?php
require ' ./vendor/autoload.php ' ;
use Alpaca Alpaca ;
$ alpaca = new Alpaca ( " --KEY-- " , " --SECRET-- " );
$ positions = $ alpaca -> getPositions (); v2.1.0から、このパッケージは、OAUTHを介してAlpaca APIまでの認証ユーザーをサポートします。 OAuthフローに関する詳細な説明については、Alpaca Docsを参照してください。
以下の方法を使用して、外部ユーザーAlpacaアカウントにアクセスし、アクセストークンを取得してAPI呼び出しを行うための許可を要求できます。
getOauthAuthorizeUrl($client_id, $redirect_uri, $scope = "", $state = null)
アプリケーションを提供します$client_idおよび承認/ホワイトリスト$redirect_uriと、希望する$scopeとランダム$state値を提供します。この関数は、アプリケーションにアカウントにアクセスすることを許可するために、ユーザーをリダイレクトする必要があるURLを返します。
getOauthAccessToken($code, $client_id, $client_secret, $redirect_uri)
ユーザーがアプリケーションにアカウントにアクセスすることを許可すると、Alpacaはユーザーをアプリケーション( $redirect_uri )にリダイレクトします。 URLはcodeパラメーターになります。これを$client_idおよび$client_secretおよび$redirect_urlとともに、 $codeパラメーターとしてこの関数に渡します。この関数は、そのユーザー/アカウントに代わってAlpaca APIを呼び出すために使用できるアクセストークンを返します。
アクセストークンの使用を開始するには、トークンの値でsetAccessToken($token)を呼び出します。
認証されたら、 getOauthAccessTokenDetails()に電話してアクセストークンの詳細(ステータス、妥当性など)を取得できます。
開始するには、アルパカのキーとシークレットでAlpacaクラスを初期化します。また、3番目のパラメーターを設定して、紙取引を有効または無効にすることもできます。デフォルトは、紙取引エンドポイントに対する呼び出しを有効にするためにtrue 。
use Alpaca Alpaca ;
$ alpaca = new Alpaca ( " KEY " , " SECRET " , true );
// This call will now work as expected if your KEY and SECRET are valid.
// If not, the response will contain an error explaining what went wrong.
$ resp = $ alpaca -> getAccount ();次の方法を使用して、必要に応じて初期化後にこれらの値を変更できます。
setKey($key)
Alpacaキーを設定します
setSecret($secret)
あなたのアルパカの秘密を設定します
setPaper(true)
紙取引を有効または無効にします。 true =紙取引、 false =ライブトレーディング。
すべてのメソッドは、API応答を操作するための多くの便利な方法があるAlpacaResponseクラスのインスタンスを返します。
getCode()
リクエストのHTTPステータスコード(たとえば、 200など) 403返します。
getReason()
リクエストのHTTPステータス理由( OK 、 Forbiddenなど)を返します。
getResponse()
JSONデコードされた応答を返します。例えば:
print_r ( $ alpaca -> getAccount ()-> getResponse ());
/*
Results in:
stdClass Object
(
[id] => null
[status] => ACTIVE
[currency] => USD
[buying_power] => 25000
[cash] => 25000
[cash_withdrawable] => 0
[portfolio_value] => 25000
[pattern_day_trader] =>
[trading_blocked] =>
[transfers_blocked] =>
[account_blocked] =>
[created_at] => 2018-11-01T18:41:35.990779Z
[trade_suspended_by_user] =>
)
*/?アルパカドキュメント
getAccount()
APIキーに関連付けられているアカウントを返します。
?アルパカドキュメント
getOrders($status = null, $limit = null, $after = null, $until = null, $direction = null, $nested = null)
オプションで提供されたクエリパラメーターによってフィルタリングされたアカウントの注文のリストを取得します。
createOrder($symbol, $qty, $side, $type, $time_in_force, $limit_price = null, $stop_price = null, $client_order_id = null, $extended_hours = null, $order_class = null, $additional = [])
指定されたアカウントの新しい注文を配置します。アカウントが取引の許可されていない場合、または取引可能な残高が注文を埋めるには不十分な場合、注文要求が拒否される場合があります。
getOrder($order_id)
指定された$order_idの単一注文を取得します。
getOrderByClientId($client_order_id)
指定された$client_order_idの単一注文を取得します。
replaceOrder($order_id, $qty, $time_in_force, $limit_price = null, $stop_price = null, $client_order_id = null)
単一の注文を更新されたパラメーターに置き換えます。各パラメーターは、既存の順序の対応する属性をオーバーライドします。他の属性は、既存の順序と同じままです。
cancelOrder($order_id)
オープン注文をキャンセルしようとします。注文がキャンセルできなくなった場合(例: status=order_filled )、サーバーはステータス422で応答し、リクエストを拒否します。
cancelAllOrders()
すべてのオープン注文をキャンセルしようとします。キャンセルを試みた各注文に対して応答が提供されます。注文がキャンセルできなくなった場合、サーバーはステータス500で応答し、リクエストを拒否します。
?アルパカドキュメント
getPositions()
アカウントのオープンポジションのリストを取得します。
getPosition($symbol)
指定された$symbolのアカウントのオープン位置を取得します。
closeAllPositions()
アカウントのすべてのオープンロングポジションとショートポジションをすべて閉じます(清算)します。キャンセルを試みた各注文に対して応答が提供されます。注文がキャンセルできなくなった場合、サーバーはステータス500で応答し、リクエストを拒否します。
closePosition($symbol)
指定された$symbolのアカウントのオープン位置を閉じます(清算)します。ロングポジションとショートポジションの両方で機能します。
?アルパカドキュメント
getAssets($status = null, $asset_class = null)
資産のリストを取得します
getAsset($symbol)
指定された$symbolの資産を取得します。
getAssetById($id)
指定された$idの資産を取得します。
?アルパカドキュメント
getWatchlists()
アカウントに登録されているウォッチリストのリストを返します。
createWatchlist($name, $symbols = [])
最初の資産セット( $symbols )を備えた新しいウォッチリストを作成します。 $name 、以下の*WatchlistByName()メソッドのいずれかでウォッチリストを識別するために使用されます。
getWatchlist($id)
$idで識別されたウォッチリストを返します。
getWatchlistByName($name)
$nameで識別されたウォッチリストを返します。
updateWatchlist($id, $name, $symbols = [])
$idで識別されたウォッチリストの名前および/またはコンテンツを更新します。
updateWatchlistByName($name, $symbols = [])
$nameで識別されたウォッチリストの名前および/またはコンテンツを更新します。
addAssetToWatchlist($id, $symbol)
ウォッチリストアセットリストの最後に$symbolの資産を追加します。
addAssetToWatchlistByName($name, $symbol)
ウォッチリストアセットリストの最後に$symbolの資産を追加します。
deleteWatchlist($id)
ウォッチリストを削除します。これは永続的な削除です。
deleteWatchlistByName($name)
ウォッチリストを削除します。これは永続的な削除です。
?アルパカドキュメント
getCalendar($start = null, $end = null)
市場カレンダーを返します。
?アルパカドキュメント
getClock()
市場の時計を返します。
?アルパカドキュメント
getAccountConfigurations()
現在のアカウント構成値を返します。
updateAccountConfigurations($config = [])
現在のアカウント構成値を更新および返します。 $configキー値のペアの配列です( ["key" => "value"] 。
?アルパカドキュメント
getAccountActivitiesOfType($type, $date = null, $until = null, $after = null, $direction = null, $page_size = null, $page_token = null)
特定のタイプのアクティビティのアカウントアクティビティエントリを返します。
getAccountActivities($types = [])
多くの種類のアクティビティのアカウントアクティビティエントリを返します。
?アルパカドキュメント
getPortfolioHistory($period = null, $timeframe = null, $date_end = null, $extended_hours = null)
要求されたタイムスパンのアカウントの株式と利益/損失(P/L)に関するタイムリーズデータを返します。
?アルパカドキュメント
getTrades($symbol, $start, $end, $limit = null, $page_token = null)
要求されたセキュリティの取引履歴データを返します。
getLastTrade($symbol)
要求されたシンボルの最後の取引を取得します。
getQuotes($symbol, $start, $end, $limit = null, $page_token = null)
要求されたセキュリティの引用(NBBO)の履歴データを返します。
getLastQuote($symbol)
要求されたシンボルの最後の引用を取得します。
getBars($timeframe, $symbol, $start, $end, $limit = null, $page_token = null)
要求されたセキュリティの履歴データの集約を返します。
getMultiSnapshot($symbols)
要求された証券のスナップショットを返します。
getSnapshot($symbol)
要求されたセキュリティのスナップショットを返します。