Merge pull request #5244 from octaviusgus/develop
fix daily profit data bug and daily profit curve example
This commit is contained in:
commit
fb25130588
@ -148,13 +148,18 @@ import pandas as pd
|
|||||||
stats = load_backtest_stats(backtest_dir)
|
stats = load_backtest_stats(backtest_dir)
|
||||||
strategy_stats = stats['strategy'][strategy]
|
strategy_stats = stats['strategy'][strategy]
|
||||||
|
|
||||||
|
dates = []
|
||||||
|
profits = []
|
||||||
|
for date_profit in strategy_stats['daily_profit']:
|
||||||
|
dates.append(date_profit[0])
|
||||||
|
profits.append(date_profit[1])
|
||||||
|
|
||||||
equity = 0
|
equity = 0
|
||||||
equity_daily = []
|
equity_daily = []
|
||||||
for dp in strategy_stats['daily_profit']:
|
for daily_profit in profits:
|
||||||
equity_daily.append(equity)
|
equity_daily.append(equity)
|
||||||
equity += float(dp)
|
equity += float(daily_profit)
|
||||||
|
|
||||||
dates = pd.date_range(strategy_stats['backtest_start'], strategy_stats['backtest_end'])
|
|
||||||
|
|
||||||
df = pd.DataFrame({'dates': dates,'equity_daily': equity_daily})
|
df = pd.DataFrame({'dates': dates,'equity_daily': equity_daily})
|
||||||
|
|
||||||
|
@ -272,7 +272,7 @@ def generate_daily_stats(results: DataFrame) -> Dict[str, Any]:
|
|||||||
winning_days = sum(daily_profit > 0)
|
winning_days = sum(daily_profit > 0)
|
||||||
draw_days = sum(daily_profit == 0)
|
draw_days = sum(daily_profit == 0)
|
||||||
losing_days = sum(daily_profit < 0)
|
losing_days = sum(daily_profit < 0)
|
||||||
daily_profit_list = daily_profit.tolist()
|
daily_profit_list = [(str(idx.date()), val) for idx, val in daily_profit.iteritems()]
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'backtest_best_day': best_rel,
|
'backtest_best_day': best_rel,
|
||||||
|
@ -215,13 +215,18 @@
|
|||||||
"stats = load_backtest_stats(backtest_dir)\n",
|
"stats = load_backtest_stats(backtest_dir)\n",
|
||||||
"strategy_stats = stats['strategy'][strategy]\n",
|
"strategy_stats = stats['strategy'][strategy]\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
"dates = []\n",
|
||||||
|
"profits = []\n",
|
||||||
|
"for date_profit in strategy_stats['daily_profit']:\n",
|
||||||
|
" dates.append(date_profit[0])\n",
|
||||||
|
" profits.append(date_profit[1])\n",
|
||||||
|
"\n",
|
||||||
"equity = 0\n",
|
"equity = 0\n",
|
||||||
"equity_daily = []\n",
|
"equity_daily = []\n",
|
||||||
"for dp in strategy_stats['daily_profit']:\n",
|
"for daily_profit in profits:\n",
|
||||||
" equity_daily.append(equity)\n",
|
" equity_daily.append(equity)\n",
|
||||||
" equity += float(dp)\n",
|
" equity += float(daily_profit)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"dates = pd.date_range(strategy_stats['backtest_start'], strategy_stats['backtest_end'])\n",
|
|
||||||
"\n",
|
"\n",
|
||||||
"df = pd.DataFrame({'dates': dates,'equity_daily': equity_daily})\n",
|
"df = pd.DataFrame({'dates': dates,'equity_daily': equity_daily})\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
Loading…
Reference in New Issue
Block a user