<commit_before>.. image:: https://media.quantopian.com/logos/open_source/zipline-logo-03_.png
    :target: http://www.zipline.io
    :width: 212px
    :align: center
    :alt: Zipline

Zipline-ja
==========

Zipline で国内銘柄を扱ったバックテストができるようにフォークしたパッケージです。

利用できる４本足データの確認：

.. code:: bash

    $ PYTHONWARNINGS="ignore" zipline bundles
    quandl <no ingestions>
    quandl-xjpx <no ingestions>
    quantopian-quandl <no ingestions>

このうち `quandl`, `quantopian-quandl` は Quantopian が定義した US 向けのデータ。
`quandl-xjpx` が国内銘柄向けに新たに定義したデータ。

.. code:: bash

    $ PYTHONWARNINGS="ignore" zipline ingest -b quandl-xjpx
    downloading quandl-xjpx.ecodes.csv...
    downloading quandl-xjpx.h5. you may have to wait a few minutes...
    (snip)

やや時間がかかる（要修正）
データの取得が終わったら、このデータを使って以下のサンプルアルゴリズムを動かすことができる。

.. code:: python

    from zipline.api import sid, symbol, order, record, get_datetime
    import logbook<commit_msg>Basic usage on Tokyo Stock Exchange<commit_after>.. image:: https://media.quantopian.com/logos/open_source/zipline-logo-03_.png
    :target: http://www.zipline.io
    :width: 212px
    :align: center
    :alt: Zipline

Zipline-ja
==========

Zipline で国内銘柄を扱ったバックテストができるようにフォークしたパッケージです。

利用できる４本足データの確認：

.. code:: bash

    $ PYTHONWARNINGS="ignore" zipline bundles
    quandl <no ingestions>
    quandl-xjpx <no ingestions>
    quantopian-quandl <no ingestions>

このうち `quandl`, `quantopian-quandl` は Quantopian が定義した US 向けのデータ。
`quandl-xjpx` が国内銘柄向けに新たに定義したデータ。

.. code:: bash

    $ PYTHONWARNINGS="ignore" zipline ingest -b quandl-xjpx
    downloading quandl-xjpx.ecodes.csv...
    downloading quandl-xjpx.h5. you may have to wait a few minutes...
    (snip)

このステップでは以下の問題点があるため、今後改善すべきである。

* boto3 の問題でサイズの大きなデータをダウンロードする場合に SSLError が発生する（socket.timeout: The read operation timed out などの例外がたまに発生）
* 取引高が uint32 に収まらない日は NaT に置き換わる（対策を検討する必要があるが、後回し）
* データのダウンロード後のインポート処理に３０分ほど時間がかかる（bcolz バイナリデータを S3 に保存するなどの対策が必要）

データの取得が終わったら、このデータを使って以下のサンプルアルゴリズムを動かすことができる。

.. code:: python

    from zipline.api import sid, symbol, order, record, get_datetime
    import logbook
{'fraction_non_alphanumeric': 0.10909090909090909, 'fraction_numerical': 0.009569377990430622, 'mean_word_length': 4.162962962962963, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6142576', 'n_tokens_mistral': 1149, 'n_tokens_neox': 1053, 'n_words': 169}