Parameter Scan 1D analysisΒΆ
Performance Metric vs Parameter for the parameter scan. see Parameter Scan Example
Python source code: ../../../src/boatwright/Visualization/param_scan_1D.py
from ..Optimizations.ParameterScan import ParameterScan
from ..Backtest import Backtest
from ..PerformanceMetrics.PerformanceMetric import PerformanceMetric
import datetime as dt
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import matplotlib.colors as colors
import matplotlib.cm as cm
import mplcursors
import json
def param_scan_1D(parameter_scan:ParameterScan, parameter:str, performance_metric:PerformanceMetric):
"""
scatter plot of param vs metric_func
:param param: strategy parameter i.e. period
:param metric_func: the 'y' axis, some evaluation done upon a backtest
"""
parameter_values = [bt.strategy.p[parameter] for bt in parameter_scan.backtests]
metric_values = [performance_metric.calculate(bt) for bt in parameter_scan.backtests]
fig, ax = plt.subplots()
ax.set_xlabel(parameter)
ax.set_ylabel(performance_metric.label)
ax.scatter(parameter_values, metric_values)
return ax