/kabusapi4j

Java wrapper library for kabu STATION API (kabusapi)

Primary LanguageJavaGNU Lesser General Public License v2.1LGPL-2.1

kabusapi4j

Build Status

kabusapi4jは、auカブコム証券が提供するkabuステーションAPIに対する、非公式のJavaラッパーライブラリです。

公式レファレンス

実行環境

  • Java Development Kit 11
  • Apache Maven / Gradle Build Tool

アーティファクト定義

<repositories>
    <repository>
        <id>sonatype-snapshot</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.after_sunrise.api</groupId>
        <artifactId>kabusapi4j-core</artifactId>
        <version>${latest}-SNAPSHOT</version>
    </dependency>
</dependencies>

サンプル

public class K4jSample {

    public static void main(String[] args) throws Exception {

        K4jApi api = K4jApi.createInstance();

        //
        // トークン発行
        //
        K4jTokenResponse token = api.token(ImmutableK4jTokenRequest.builder().apiPassword("hoge").build());
        System.out.println("Token : " + token.getToken());

        //
        // 取引余力(現物)
        //
        K4jCashResponse cash = api.walletCash(ImmutableK4jCashRequest.builder().token(token.getToken()).build());
        System.out.println("Cash : " + cash);

        //
        // 取引余力(信用)(銘柄指定)
        //
        K4jMarginResponse margin = api.walletMargin(ImmutableK4jMarginRequest.builder().token(token.getToken())
                .instrument(ImmutableK4jInstrument.builder().symbol("1000").exchange(K4jExchangeType.XTKS).build()).build());
        System.out.println("Margin : " + margin);

        //
        // PUSH 銘柄登録
        //
        K4jRegisterResponse register = api.register(ImmutableK4jRegisterRequest.builder().addSymbols(
                ImmutableK4jInstrument.builder().symbol("2000").exchange(K4jExchangeType.XTKS).build(),
                ImmutableK4jInstrument.builder().symbol("3000").exchange(K4jExchangeType.XNGO).build()
        ).token(token.getToken()).build());
        System.out.println("Register : " + register);

        //
        // PUSH 受信
        //
        CompletableFuture<K4jSession> future = api.connect(new K4jListener.K4jMessageListener() {
            @Override
            public void onBoard(K4jSession session, K4jBoard message) {
                System.out.println("Board : " + message);
            }
        });

        //
        // PUSH 待機
        //
        TimeUnit.MINUTES.sleep(3);

        //
        // PUSH 切断
        //
        future.getNow(null).close();

    }

}

規約・免責事項

  • このライブラリの利用者は同梱のLICENSEおよび規約・免責事項に同意したものとみなします。
  • APIサービス提供者の利用規約も併せて遵守してください。
    • 第三者の作成したプログラム等の利用は禁止されています。
    • このライブラリは参照実装とし、実際にAPIを使用される場合は各自にてライブラリを再実装してください。
  • 過失・不具合などの有無に関わらず、利用者の自己責任にてこのライブラリを参照するものとします。

その他

  • ライブラリ作者によるサポートや問い合わせ対応等は行っていません。
  • ライブラリは無償で公開しています。情報商材および有償製品・サービスにはご注意ください。
  • APIの用法用量を守り、清く正しいAPIトレーディング生活をおくりましょう。