高度な素数処理をNumbaで高速化 / アルゴリズムトレード

素数の判定処理は大きな数になればなるほど実行時間は遅くなります。
Numbaで高速化していきます。
高速化前と高速化後の速度に注目してみてください。

Pythonの処理を高速化する方法

高速化前

def is_prime(I):
# 数が偶数の場合は判定の必要はないのですぐにFalseを返します
    if I % 2 == 0: return False
# ここでループ開始
    for i in range(3, int(I ** 0.5) + 1, 2):
        if I % i == 0: return False
    return True  
n = int(1e8 + 3)
n
%time is_prime(n)
p1 = int(1e8 + 7)
p1
%time is_prime(p1)
p2 = 100109100129162907  
p2.bit_length()  
%time is_prime(p2)

Numbaで高速化

is_prime_nb = numba.jit(is_prime)
%time is_prime_nb(n)  
%time is_prime_nb(n)  
%time is_prime_nb(p1)
%time is_prime_nb(p2)  

劇的とも言える速度の改善が見られました。

アルゴリズム取引では特に速度が求められますので、こういった高速化スキルは必須と言えます。

こちらの記事もいかがですか?
プログラミングやテクノロジーに関する記事をまとめています!

icon image
当スタジオでのアクセスNO1!
Google検索ランキングで1位獲得実績ありの人気記事!
M1 Mac以降の Python 環境構築 [完全保存版] ほぼ英語クラスの馴染みやすさが人気のPythonの全体像をほぼ1記事で理解できるのはこれ! まずはこれだけ Python基礎からサンプルプログラム いつもチェックする日課の記事やサイト、ページなどがあればセレニウムを使用してかなり細かく動作を自動化することができます。 Seleniumを使ってGoogle検索 ~ サイトの巡回までをプログラム Xサーバーをモデルにしています。
APIで自動トレードシステムなんかを構築したい場合は24時間働き続けてくれるスタイルが必須ですよね。
Xserver SSH接続の設定とAnaconda3のインストール
ポイント当サイトもエックスサーバーで構築しています。
速度が早いのと対応も丁寧で老舗なのでおすすめのサーバーの一つです。
サーバーをこれから開設する方は是非VPNも契約しておきましょう。
レンタルサーバー エックスサーバー これからは脱グローバルと宇宙の時代。。。と筆者は考えています。
日本のGPS衛星の技術はかなり高いのをご存知でしたか?!
誰でも無料で使える衛星電波、使わなきゃ損ですよね。
Python GPS関連の開発環境 & Google MAP APIを取得 コンパイル言語も忘れないで!
少し知っているだけで見える世界が全然変わってきます。
【環境構築】Rust M1 Mac / コンパイル言語

Kotaro
Kotaro
服部 洸太郎
音大を卒業後ピアニストとして活動。
自身のピアノトリオで活動後北欧スウェーデンにてシンガーアーティストLindha Kallerdahlと声帯とピアノによる即興哲学を研究。
その後ドイツへ渡りケルンにてAchim Tangと共に作品制作。
帰国後、金田式電流伝送DC録音の名手:五島昭彦氏のスタジオ「タイムマシンレコード」にアシスタントとして弟子入りし、録音エンジニアとしての活動開始。
独立後、音楽レーベル「芸術工房Pinocoa(現在はKotaro Studioに統合)」を立ち上げ、タンゴやクラシックなどのアコースティック音楽作品を多数プロデュース。
その後、秋山庄太郎氏後継の写真スタジオ「村上アーカイブス」でサウンドデザイナー兼音響担当として映像制作チームに参加。
村上宏治氏の元で本格的に写真、映像技術を学ぶ。
祖父母の在宅介護をきっかけにプログラムの世界に興味を持ち、介護で使えるプログラムをM5Stackを使って自作。
株式会社 ジオセンスの代表取締役社長:小林一英氏よりプログラムを学ぶ。
現在はKotaro Studioにてアルゼンチンタンゴをはじめとした民族音楽に関する文化の研究、ピアノ音響、さらに432hz周波数を使った癒しのサウンドを研究中。
2022年9月より豊かな暮らしをテーマとしたウェブサイト『レンタルdeクラセル』も発信中〜