From nobody Tue Dec 27 02:38:47 2022 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4NgzP41Tb1z1J2Wx; Tue, 27 Dec 2022 02:38:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4NgzP359bjz3NWF; Tue, 27 Dec 2022 02:38:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1672108727; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IVNWPiRtdyOe9V2eFFcSqiclesUjqmiEKhgpj+FTtt4=; b=bvPJQJbqq2o3sCy26NsztE7SKG4NUbGqfUK7H5yxbPKNwVhuSZIy+P+2aa7C+Wifgx4GyM cp0edMCZSp0aHu6g6yGFIdGbr/FETi6dh9JV/4aiqy6VTaf3SHyW5/mXxV7mXyJZNq7fek oLHer8wLUvIRhhMF1UhYPCePF/1mpoI0wA7hRXc9awf2v4kkMhIDk+XfuTK0rZXTXtUVhF YfOSJrd2pnptAnZOCb2JNLxsqzAZKgdtOT2LCcu/oBEOruWzmou1cuR50fUuSvDRrG2EoX keRvWuSY46M+6nO+3F2eIz55gqJfZQ4q98L5KXRLaBJmDyjaY1T1FwSqLTkuhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1672108727; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IVNWPiRtdyOe9V2eFFcSqiclesUjqmiEKhgpj+FTtt4=; b=OfYV5sZh6FFtIQcX4ovuiexM9zIWSpLaLzsKJT4xWve21L6mQiCQKx7B3TA9tpHd7czpWt xJDH4d8vJCoEBBc7xIVNHISEDCheleyV7Vqx8dp0ksla3yCv6BSqRIGxIwGkatVVZqAd/F 0Boy0MqgWMwlAorX3b5GO6qaTQpgwZuXkL7FDY3obAUYUoFw714RgZQZkwQQv1oC4KDBtb fKyMDvXDezXpdSC7k5YJEBsN6Nf43JMGFhWQKGAllJYqb8COM8ze0Bgf0Rbj1D57YU1HSu suDbU2S+ppmCfjNuaPddz8YschQ0c4xwzxGsGvSGL2Wxunx1PBCbQAi7QArAMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1672108727; a=rsa-sha256; cv=none; b=G0ogRhMulmhwbl+UZDkvBfFGLyTntsoKkK+DIivtZPyoZ/706vxpagCx+FXW/+QkOfU3/o lYauuBr3RvOh34Hr8AL+18viAMZh7YLSb+WGafn5Ee0AN0+qo1UtKclcN3YuhXqRRl89jQ 2iE6qxj3hO/uIX56SCPw+qZBTX8RTNnM481cT9JRnhECdkLRoAQYyQ3o8bF5Nm12FdJuKg ww+W2uC1hyFeK77qUl4chwwiLZ7y9TQeuRpQzUUuKQ4QHACdYR1UydxS4aotJX9DajYrSC R9wed0xC5tYinOlJ6Vsyv1vxITMnxiK2ov+CmDeE/54kn3vDc7yWFk/xNlUjHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4NgzP34FBxzvDZ; Tue, 27 Dec 2022 02:38:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 2BR2clVQ039256; Tue, 27 Dec 2022 02:38:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 2BR2clJ3039254; Tue, 27 Dec 2022 02:38:47 GMT (envelope-from git) Date: Tue, 27 Dec 2022 02:38:47 GMT Message-Id: <202212270238.2BR2clJ3039254@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Yuri Victorovich Subject: git: 808d0facae47 - main - finance/py-bt: New port: Flexible backtesting framework to test quantitative trading strategies List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 808d0facae4791f940f479a6bbb86f1df3a41d3d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=808d0facae4791f940f479a6bbb86f1df3a41d3d commit 808d0facae4791f940f479a6bbb86f1df3a41d3d Author: Yuri Victorovich AuthorDate: 2022-12-27 02:38:16 +0000 Commit: Yuri Victorovich CommitDate: 2022-12-27 02:38:42 +0000 finance/py-bt: New port: Flexible backtesting framework to test quantitative trading strategies --- finance/Makefile | 1 + finance/py-bt/Makefile | 30 ++++++++++++++++++++++++++++++ finance/py-bt/distinfo | 3 +++ finance/py-bt/pkg-descr | 15 +++++++++++++++ 4 files changed, 49 insertions(+) diff --git a/finance/Makefile b/finance/Makefile index ab2d5907e13a..d25938f7d402 100644 --- a/finance/Makefile +++ b/finance/Makefile @@ -100,6 +100,7 @@ SUBDIR += py-alpha-vantage SUBDIR += py-backtrader SUBDIR += py-bitcoin + SUBDIR += py-bt SUBDIR += py-ebaysdk SUBDIR += py-exchange-calendars SUBDIR += py-ffn diff --git a/finance/py-bt/Makefile b/finance/py-bt/Makefile new file mode 100644 index 000000000000..3f2fdce425e5 --- /dev/null +++ b/finance/py-bt/Makefile @@ -0,0 +1,30 @@ +PORTNAME= bt +DISTVERSIONPREFIX= v +DISTVERSION= 0.2.9 +CATEGORIES= finance python +#MASTER_SITES= CHEESESHOP # no tests +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/}-${PORTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Flexible backtesting framework to test quantitative trading strategies +WWW= http://pmorissette.github.io/bt/ + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +PY_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ffn>=0.3.5:finance/py-ffn@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyprind>=2.11:misc/py-pyprind@${PY_FLAVOR} +BUILD_DEPENDS= ${PY_DEPENDS} +RUN_DEPENDS= ${PY_DEPENDS} + +USES= python:3.8+ +USE_PYTHON= distutils autoplist pytest # tests require nose which is currently broken + +USE_GITHUB= yes +GH_ACCOUNT= pmorissette + +post-install: + @${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/bt/core${PYTHON_EXT_SUFFIX}.so + +.include diff --git a/finance/py-bt/distinfo b/finance/py-bt/distinfo new file mode 100644 index 000000000000..59a697c538fc --- /dev/null +++ b/finance/py-bt/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1672107963 +SHA256 (pmorissette-bt-v0.2.9_GH0.tar.gz) = 2c1fedd577b56d4a5b816c9c42b1c58cc6d96e750560b90c3f2bdf71cca601b9 +SIZE (pmorissette-bt-v0.2.9_GH0.tar.gz) = 3664420 diff --git a/finance/py-bt/pkg-descr b/finance/py-bt/pkg-descr new file mode 100644 index 000000000000..8da09529a2f8 --- /dev/null +++ b/finance/py-bt/pkg-descr @@ -0,0 +1,15 @@ +bt is a flexible backtesting framework for Python used to test quantitative +trading strategies. Backtesting is the process of testing a strategy over a +given data set. This framework allows you to easily create strategies that mix +and match different Algos. It aims to foster the creation of easily testable, +re-usable and flexible blocks of strategy logic to facilitate the rapid +development of complex trading strategies. + +The goal: to save quants from re-inventing the wheel and let them focus on the +important part of the job - strategy development. + +bt is coded in Python and joins a vibrant and rich ecosystem for data analysis. +Numerous libraries exist for machine learning, signal processing and statistics +and can be leveraged to avoid re-inventing the wheel - something that happens +all too often when using other languages that don't have the same wealth of +high-quality, open-source projects.