Python
データの名寄せに必要な正規化で同僚から neologdn を進められて使おうとしたが、 Python 3.8 に対応していなくて、 unicodedata.normalize() で事足りたけど、3日前に対応していたお話です。 広告 (adsbygoogle = window.adsbygoogle || []).push({}); ユ…
今回は、標準出力に文字列を出力する実装に対して pytest でテストを書く必要があり、 unittest.mock と Python のライブラリリファレンスにかかれていた方法を組み合わせたら見事にハマったお話です。 広告 (adsbygoogle = window.adsbygoogle || []).push(…
これはなにか 現職の社内でこのテーマで書いたが、そちらは社内プロダクトの情報も混じっているので、同じテーマでブログ向けにいちから書き直してみる。 ちょっと長いが、ウェブサービスを運用するならきちんと抑えておきたい。 課題 SPA + HTTP API(概ねR…
前の記事で開発環境を確認したので、次は改善を考えていく。 team-6.hatenablog.jp 広告 (adsbygoogle = window.adsbygoogle || []).push({}); エディタ Visual Studio Code から変える気はしばらくないので、これをどう便利にしていくか考える。 設定の同期…
サーバを作り直すときに調べたのでメモがてら。 公式に書き方は載っているが、記述が古いので掲題に特化した方法を載せる。 lightgbm.readthedocs.io 前提として、Compute Engine で GPU が有効なインスタンスがあり、そこに pyenv でPython 3.8.6がインスト…
ここ1年はほとんど変わっていないですが、今現在の機械学習による競馬予想で使っているサービスやライブラリについて情報を残しておきたいと思います。 どちらかというと、なぜそれを使っているのかを考え直したり、あわよくばコメントを貰って改善に役立て…
競馬予想のためにJRDBからファイルをダウンロードする際、今日明日の日付のデータを削除しないと古いデータが混ざる問題があったのでメモ。 最初は date コマンドでやっていたがGNU拡張だったようで、macOSのBSD dateではうまくいかないためPython3で再実装…
競馬情報で特定の年以降のレースを絞り込むときの便利な書き方がわかったので紹介する。 (adsbygoogle = window.adsbygoogle || []).push({}); dateカラム(datetime型)が2019年以降のデータを選ぶには、ストレートにするとこのような感じになる。 impo…
結局、仮想通貨は逃げるタイミングが遅れてとんでもない負債を私に残していったので、 ボラリティは低いが安定している株取引を粛々とすることにした。 (adsbygoogle = window.adsbygoogle || []).push({ google_ad_client: "ca-pub-7132367542454356", enab…
BTC・FXのトレード関係の情報をnoteで売るのが流行っている(というかドテンくん)ので、 ちょっとやってみました。 note.mu (adsbygoogle = window.adsbygoogle || []).push({}); 前2記事の画面表示機能+Bot機能で900円です。 Botは1コインあたり5000円買っ…
こんな記事を書いた。 コードを改良したので続き。 team-6.hatenablog.jp team-6.hatenablog.jp (adsbygoogle = window.adsbygoogle || []).push({}); 前回のコードをちょいちょい見直したら結構違うコードになった。 追加になったのは、これまでのトレード…
昨日の続き。 team-6.hatenablog.jp (adsbygoogle = window.adsbygoogle || []).push({}); 昨晩は全般的にかなり下落していたようで、反発したコインを売りたくなった。 いちいち購入履歴と付きあわせてどのくらい上がったかを計算するのはアレなので、 昨日…
先日、この記事を書いた。 team-6.hatenablog.jp (adsbygoogle = window.adsbygoogle || []).push({}); しかしながら、上昇の見込めない相場での現物取引は儲けが少なく損ばかり、ということで草コインに投資することにした。 Binance のアカウントを作って0…
前の記事で約定履歴が手に入ったので、OHLCを求めてローソク図を描画してみる。 team-6.hatenablog.jp (adsbygoogle = window.adsbygoogle || []).push({}); from datetime import datetime, timedelta import pandas as pd import matplotlib.pyplot as plt…
bitbank の APIを眺めていたら、任意の日付から約定履歴を取得することができることに気づいた。 無限に見られるわけではないみたいだが、cyrptowatch よりも長い期間のOHLCが取得できそうなので頑張ってみた。 (adsbygoogle = window.adsbygoogle || []).pu…
例のZaif だが、拙宅のStreaming APIを403にした件ですでにうんざりだが、 それに加えて混雑のせいでBot のリクエストが通りづらくなっている。 しばらく待ってリクエストする、を繰り返せばいいのだが リトライするべきエラーとそうではないエラー(資産不…
Zaif でオルトコインとビットコインを用いた裁定取引を試しているんですが、 XEM/BTC と XEM/JPYで最小取引量が異なるようです。 (adsbygoogle = window.adsbygoogle || []).push({}); curl https://api.zaif.jp/api/1/currency_pairs/all | jq . | less と…
Pyramid 使いたいんですが、最近cookiecutterの記事(参考)がはてブに上がったりしていたので、 Pyramidのものがないか探したらありました。 https://github.com/Pylons/pyramid-cookiecutter-starter (adsbygoogle = window.adsbygoogle || []).push({}); …
以下の本を読んだんですが、掲題の通りノンプログラマ必読ですね。 職場の業務効率向上をしたい人はすぐに買うべきです。 退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング作者: Al Sweigart,相川愛三出版社/メーカー: …
先程まで、AtCoder Grand Contest 019 に参加していました。 agc019.contest.atcoder.jp 結局、A, B まで解けたものの、Cの途中で時間切れ、D以降は問題文すら読んでない状況です。 (adsbygoogle = window.adsbygoogle || []).push({}); 開始直後に宅内のネ…
前記事で書いたとおり、Anaconda でバシッと色んな物が入って嬉しいんですが、一方でAnacondaを使わずにそれをするにはどの程度の労力がかかるのか、試してみたいと思います。 team-6.hatenablog.jp team-6.hatenablog.jp (adsbygoogle = window.adsbygoogle…
先日の投稿で、少しフィードバックをいただけた(ありがとうございます!)ので、それに対する反応です。 team-6.hatenablog.jp (adsbygoogle = window.adsbygoogle || []).push({}); フィードバックその1 コメント欄より。 引用されていたので反応しておき…
ちょっと煽ったタイトルですが、これから言いたいことを一言で言うとそういうことです。 またPython環境構築界隈の混沌が深まりそうで申し訳ないですが、自身の中ではそういう結論です。 (adsbygoogle = window.adsbygoogle || []).push({}); まず、先に数件…
お仕事的な理由と、bitcoin のトレードに活かせないか、という2つの理由でディープラーニングに手を出そうとして以下を購入した。 詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~作者: 巣籠悠輔出版社/メーカー: マイナビ出版発売日: …
AtCoder ABC071 に参加しました。 AtCoder Beginner Contest 071 - AtCoder (adsbygoogle = window.adsbygoogle || []).push({}); 感想: 以下記事のワンライナーは役に立った。 以下の記事で書いたワンライナーは使いドコロがあったので良かった。 (今回は…
前記事でpyenvのインストールについて書いたんですが、 環境を分ける需要があるので、pyenv-virtualenvについても書いておきます。 team-6.hatenablog.jp (adsbygoogle = window.adsbygoogle || []).push({}); virtualenv はPythonのインストールされたパッ…
以前書いたとおり、Anaconda を asdf-vm でインストールしたところ、Anacondaではない環境ではcurlがフルパス指定でないと使えなくなった。 team-6.hatenablog.jp (adsbygoogle = window.adsbygoogle || []).push({}); 別段asdf-vmにこだわる理由はなく、む…
Paiza や AtCoder では、入力がテキストで示されますが、 その型は文字列だったり数値だったりするわけで、 うまい感じにキャストしたいものですね。 scanf的なものが標準であればいいのですが、ないので作るしかありません。 (adsbygoogle = window.adsbygo…
AtCoder をやってみました。 と言ってもTutorialだけですが。 (adsbygoogle = window.adsbygoogle || []).push({}); Python2と3間違えて速攻でRuntimeErrorの表示を頂いてしまいましたが、 そもそもテストしろよな、というのが正しいツッコまれ方かと思いま…
掲題のとおりなんですが、 非同期に処理結果をコールバックに渡してくるRxPYと、 関数呼び出しの戻り値としてレスポンスを同期的に値を求めるbottle.py は相性が良くないんですよね。 (adsbygoogle = window.adsbygoogle || []).push({}); RxPYのexampleには…