2024-01-01から1年間の記事一覧
ビットコインの年間利益計算スクリプト作成した。BitFlyerの取引レポートをそのまま読みこめるようにしてある。 間違っている点あればコメントで教えてください。 import pandas as pd def calculate_annual_profit_average_method(csv_file): # CSVファイル…
開発初期あたりのとりあえず正常系のみ書いて動かしてみるときなどで、SEGVが発生した場合にバックトレースログを出力したいときのコード。 シグナルハンドラでSEGVなど異常終了のシグナルをハンドリングしてログ出力する。 #define _GNU_SOURCE #include <stdio.h> #</stdio.h>…
メインスレッドである処理を行いサブスレッドに通知し、サブスレッドでまた別の処理を行う、というマルチスレッドのプログラムを作成した際、結局どのくらい処理時間がかかっているのか調べる必要があったため、LTTng (Linux Tracing Toolkit Next Generatio…
収集している時系列データを、生データから等間隔に補完するプログラム。GoogleColabで実行すること。 データはGoogleスプレッドシートに保存しておき、1列目がタイムスタンプ、2列目が対象のデータとすること。 # 認証のためのコード from google.colab imp…
ダウンロードリンク 期間:2023/12 ~ 2024/12 docs.google.com データ形式 1か月ごとにシートを分けて保存している。 1列目:タイムスタンプ 2列目:ビットコイン価格(JPY) 注意点など 価格データは生データではなく、一部補完を行ったデータである。
Floatや配列はそのままでは保存できないので、バイナリに変換して保存する。ただしバイナリも400KBという上限があるので、分割して保存する。Noneはそのままでは保存できないので文字列に変換する。 以下にDynamoDBへの保存、リストア用の関数を示す。 impor…
概要 MT4のような自動売買システムをビットコインでも行いたいということで開発。コンセプトとしては以下のような感じ。 運用コストはかけない(AWSの無料枠で動かせるような構成にする) 開発に時間をかけない(自動売買のアルゴリズムなど必要な部分のみ開…
以下のコードをGoogle Colabで実行する。ファイルごとにシート名を分けて、複数行ずつ書き込んでくれる。 from itertools import count import csv import gspread from datetime import datetime import glob import tqdm # 認証のためのコード from google…
ビットコインの価格データをバックテストに使用したいと思ったものの公開しているところがなかった(日ごとのデータならあるが、それより細かいものはなかった)ので、データ自動収集プログラムを作った。 プログラムはGoogle Apps Script上で動作し、データ…
Pythonでビットコイン取引のバックテスト用プログラムを作ってみた。その時のメモ。 github.com インストール方法 $ git clone https://github.com/wooolwooolwoool/bitbacktest.git $ cd bitbacktest $ python -m build $ pip install dist/bitbacktest-*.w…
cookiecutterのインストール pip install cookiecutter テンプレートを使ってプロジェクトを生成 cookiecutter https://github.com/audreyfeldroy/cookiecutter- pypackage プロンプトに従って必要事項を入力。 依存関係をインストール pip install -r requi…
表題の通り。以下のようにリングバッファのクラスを作成し性能を比較した。(検証環境:GoogleColab) from collections import deque class DequeRingBuffer: def __init__(self, size): self.size = size self.data = deque(maxlen=size) def append(self,…
Panelライブラリでは直接JavaScriptを実行するインターフェースは提供されていない。ただし、pn.pane.HTML()で疑似的にJavaScriptを実行することができる。 例としては以下のような感じ。 def copy_to_clipboard(text): return f""" <script> function copyToClipboa…
2024年5月に6泊7日でマチュピチュ旅行に行ってきたのでその記録。 行き先 ペルーのリマ、ナスカ、クスコ、そしてマチュピチュ。移動がかなり多かったこともあり、実際にちゃんと観光したのはナスカの地上絵とマチュピチュくらい。ちゃんと観光したい場合は+…
先日マチュピチュへ旅行した際、どれが一番安くネットを使用できるのだろうと調べたところ、AiraloのeSIMが最も安かった。 使用感としては、開通に少々手間取ったが、開通後は特に問題なく使用できていた。マチュピチュへ行く途中の鉄道などよっぽどの田舎以…
Pythonで業務効率化アプリを作成する方法を紹介します。プログラミング学習にどうぞ。 流れとしては以下の通りです。環境構築から、要件定義、設計っぽいものも行います。 開発環境構築 何を作るか決める(いわゆる要件定義) 機能を決める(いわゆる外部設…
以下のようにFlaskやeventletをImportしようとしたらエラー。 from flask import Flask, render_template, request from flask_socketio import SocketIO, emit, join_room, leave_room import eventlet eventlet.monkey_patch() エラー↓ $ python3 app.py A…
はじめに 職務経歴書の書き方をまとめる。本記事はSWエンジニア向けの内容になる。 職務経歴書の書き方 職務経歴書のテンプレートは、dodaが無料で配布している以下のドキュメントを参考。このテンプレートをベースに、職務経歴書の書き方について項目ごとに…
GStreamerカスタムエレメントの作成方法を調べたのでメモ。 参考↓ gstreamer のエレメントを作る 上記ページではSinkエレメントを作成してるが、今回はtransformエレメントを作成する。 とりあえず、参考ページと似たような感じで作成していく。 $ cd ~/work…
(ほぼ)コピペだけで、Ubutnuのプロキシ設定を行えるようにした。 前提:HTTPSでアクセスする場合は、システムの時刻合わせしてから行うこと。時刻合わせしていないと、証明書のエラーになる。 準備 準備としてパスワードとプロキシサーバを一時的に環境変…
AWS CloudformationでMLFlowサーバを構築した。MLFlowサーバのバックエンドには、S3とRDSを使用している。 AWS Cloudformationで以下のYAMLファイルでStackを構築すれば、VPCやSubnet、ロール、MLFlowがインストールされたEC2インスタンスなどが自動的に構築…