Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve Initialization of OnchainFeeMonitor with Conservative Synthetic History #210

Merged
merged 2 commits into from
Jul 16, 2024

Conversation

ksedgwic
Copy link
Collaborator

@ksedgwic ksedgwic commented Jun 3, 2024

CLBOSS preloads the fee history with 2 weeks of some particular history. This is almost incorrect for whatever current feerate environment exists.

By altering the get_feerate_at_percentile routine to use the percentile values of whatever data exists (doesn't presume a full history table w/ 2016 values) we can skip preloading any sample data and instead use current data.

This means that CLBOSS will learn about the current fee rate environment gradually; it's early impressions will be based on a small amount of data. However, I don't see how basing the history on arbitrary past data is better, it will make good decisions sooner w/ all real data ...

@vincenzopalazzo
Copy link
Contributor

IMHO we should remote the all code because it is not safe anymore do something like this with the current fee env

@ksedgwic
Copy link
Collaborator Author

ksedgwic commented Jun 3, 2024

@vincenzopalazzo do you mean "remove the old code"?

@ksedgwic
Copy link
Collaborator Author

ksedgwic commented Jun 3, 2024

Here is some data from one of my testnet nodes which ends roughly 12 hours after starting w/ fresh history:

Sun 2024-06-02 21:07:07 PDT home3 bash[3381120]: 2024-06-03T04:07:07.500Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 21:17:07 PDT home3 bash[3381120]: 2024-06-03T04:17:07.510Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 21:27:07 PDT home3 bash[3381120]: 2024-06-03T04:27:07.521Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 21:37:07 PDT home3 bash[3381120]: 2024-06-03T04:37:07.579Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 21:47:07 PDT home3 bash[3381120]: 2024-06-03T04:47:07.585Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 21:57:07 PDT home3 bash[3381120]: 2024-06-03T04:57:07.623Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 22:07:07 PDT home3 bash[3381120]: 2024-06-03T05:07:07.660Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 22:17:07 PDT home3 bash[3381120]: 2024-06-03T05:17:07.673Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 22:27:07 PDT home3 bash[3381120]: 2024-06-03T05:27:07.722Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 22:37:07 PDT home3 bash[3381120]: 2024-06-03T05:37:07.729Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 22:47:07 PDT home3 bash[3381120]: 2024-06-03T05:47:07.785Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 22:57:07 PDT home3 bash[3381120]: 2024-06-03T05:57:07.817Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 23:07:07 PDT home3 bash[3381120]: 2024-06-03T06:07:07.874Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 23:17:07 PDT home3 bash[3381120]: 2024-06-03T06:17:07.911Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 23:27:07 PDT home3 bash[3381120]: 2024-06-03T06:27:07.968Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 23:37:07 PDT home3 bash[3381120]: 2024-06-03T06:37:07.991Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 23:47:08 PDT home3 bash[3381120]: 2024-06-03T06:47:08.023Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 23:57:08 PDT home3 bash[3381120]: 2024-06-03T06:57:08.038Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 00:07:08 PDT home3 bash[3381120]: 2024-06-03T07:07:08.093Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 00:17:08 PDT home3 bash[3381120]: 2024-06-03T07:17:08.121Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 00:27:08 PDT home3 bash[3381120]: 2024-06-03T07:27:08.183Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 00:37:08 PDT home3 bash[3381120]: 2024-06-03T07:37:08.237Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 00:47:08 PDT home3 bash[3381120]: 2024-06-03T07:47:08.292Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 00:57:08 PDT home3 bash[3381120]: 2024-06-03T07:57:08.330Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 01:07:08 PDT home3 bash[3381120]: 2024-06-03T08:07:08.323Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 01:17:08 PDT home3 bash[3381120]: 2024-06-03T08:17:08.329Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 01:27:08 PDT home3 bash[3381120]: 2024-06-03T08:27:08.374Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 01:37:08 PDT home3 bash[3381120]: 2024-06-03T08:37:08.395Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 01:47:08 PDT home3 bash[3381120]: 2024-06-03T08:47:08.454Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 01:57:08 PDT home3 bash[3381120]: 2024-06-03T08:57:08.454Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 02:07:08 PDT home3 bash[3381120]: 2024-06-03T09:07:08.520Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 02:17:08 PDT home3 bash[3381120]: 2024-06-03T09:17:08.576Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 02:27:08 PDT home3 bash[3381120]: 2024-06-03T09:27:08.620Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 02:37:08 PDT home3 bash[3381120]: 2024-06-03T09:37:08.627Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 02:47:08 PDT home3 bash[3381120]: 2024-06-03T09:47:08.628Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 02:57:08 PDT home3 bash[3381120]: 2024-06-03T09:57:08.626Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 03:07:08 PDT home3 bash[3381120]: 2024-06-03T10:07:08.638Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 03:17:08 PDT home3 bash[3381120]: 2024-06-03T10:17:08.666Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 03:27:08 PDT home3 bash[3381120]: 2024-06-03T10:27:08.678Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 03:37:08 PDT home3 bash[3381120]: 2024-06-03T10:37:08.718Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 03:47:08 PDT home3 bash[3381120]: 2024-06-03T10:47:08.768Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 03:57:08 PDT home3 bash[3381120]: 2024-06-03T10:57:08.802Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 04:07:08 PDT home3 bash[3381120]: 2024-06-03T11:07:08.848Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 04:17:09 PDT home3 bash[3381120]: 2024-06-03T11:17:09.781Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 04:27:08 PDT home3 bash[3381120]: 2024-06-03T11:27:08.951Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 04:37:09 PDT home3 bash[3381120]: 2024-06-03T11:37:09.005Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 04:47:09 PDT home3 bash[3381120]: 2024-06-03T11:47:09.060Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 04:57:09 PDT home3 bash[3381120]: 2024-06-03T11:57:09.109Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 05:07:09 PDT home3 bash[3381120]: 2024-06-03T12:07:09.131Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 05:17:09 PDT home3 bash[3381120]: 2024-06-03T12:17:09.157Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 05:27:09 PDT home3 bash[3381120]: 2024-06-03T12:27:09.165Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 05:37:09 PDT home3 bash[3381120]: 2024-06-03T12:37:09.221Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 05:47:09 PDT home3 bash[3381120]: 2024-06-03T12:47:09.229Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 05:57:09 PDT home3 bash[3381120]: 2024-06-03T12:57:09.277Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 06:07:09 PDT home3 bash[3381120]: 2024-06-03T13:07:09.321Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 06:17:09 PDT home3 bash[3381120]: 2024-06-03T13:17:09.312Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 06:27:09 PDT home3 bash[3381120]: 2024-06-03T13:27:09.362Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 06:37:09 PDT home3 bash[3381120]: 2024-06-03T13:37:09.426Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 06:47:09 PDT home3 bash[3381120]: 2024-06-03T13:47:09.429Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 06:57:09 PDT home3 bash[3381120]: 2024-06-03T13:57:09.426Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 07:07:09 PDT home3 bash[3381120]: 2024-06-03T14:07:09.471Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 07:17:09 PDT home3 bash[3381120]: 2024-06-03T14:17:09.518Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 07:27:09 PDT home3 bash[3381120]: 2024-06-03T14:27:09.535Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 07:37:09 PDT home3 bash[3381120]: 2024-06-03T14:37:09.590Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 07:47:09 PDT home3 bash[3381120]: 2024-06-03T14:47:09.633Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 07:57:09 PDT home3 bash[3381120]: 2024-06-03T14:57:09.682Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 08:07:09 PDT home3 bash[3381120]: 2024-06-03T15:07:09.690Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 08:17:09 PDT home3 bash[3381120]: 2024-06-03T15:17:09.742Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 08:27:09 PDT home3 bash[3381120]: 2024-06-03T15:27:09.788Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 08:37:09 PDT home3 bash[3381120]: 2024-06-03T15:37:09.787Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 08:47:09 PDT home3 bash[3381120]: 2024-06-03T15:47:09.797Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 08:57:09 PDT home3 bash[3381120]: 2024-06-03T15:57:09.851Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 09:07:09 PDT home3 bash[3381120]: 2024-06-03T16:07:09.861Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.

Here is data for a second testnet node with similar fresh start and time-frame:

Sun 2024-06-02 17:49:02 PDT demo1 bash[2703480]: 2024-06-03T00:49:02.295Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 17:59:02 PDT demo1 bash[2703480]: 2024-06-03T00:59:02.337Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 18:09:02 PDT demo1 bash[2703480]: 2024-06-03T01:09:02.351Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 18:19:02 PDT demo1 bash[2703480]: 2024-06-03T01:19:02.428Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 18:29:02 PDT demo1 bash[2703480]: 2024-06-03T01:29:02.454Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 18:39:02 PDT demo1 bash[2703480]: 2024-06-03T01:39:02.483Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 18:49:02 PDT demo1 bash[2703480]: 2024-06-03T01:49:02.490Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 18:59:02 PDT demo1 bash[2703480]: 2024-06-03T01:59:02.536Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 19:09:02 PDT demo1 bash[2703480]: 2024-06-03T02:09:02.583Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 19:19:02 PDT demo1 bash[2703480]: 2024-06-03T02:19:02.594Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 19:29:02 PDT demo1 bash[2703480]: 2024-06-03T02:29:02.636Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 19:39:02 PDT demo1 bash[2703480]: 2024-06-03T02:39:02.676Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 19:49:02 PDT demo1 bash[2703480]: 2024-06-03T02:49:02.675Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 19:59:02 PDT demo1 bash[2703480]: 2024-06-03T02:59:02.732Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 20:09:02 PDT demo1 bash[2703480]: 2024-06-03T03:09:02.774Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 20:19:02 PDT demo1 bash[2703480]: 2024-06-03T03:19:02.794Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 20:29:02 PDT demo1 bash[2703480]: 2024-06-03T03:29:02.837Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 20:39:02 PDT demo1 bash[2703480]: 2024-06-03T03:39:02.846Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 20:49:02 PDT demo1 bash[2703480]: 2024-06-03T03:49:02.879Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 20:59:02 PDT demo1 bash[2703480]: 2024-06-03T03:59:02.923Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 21:09:02 PDT demo1 bash[2703480]: 2024-06-03T04:09:02.956Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 21:19:02 PDT demo1 bash[2703480]: 2024-06-03T04:19:02.963Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 21:29:02 PDT demo1 bash[2703480]: 2024-06-03T04:29:02.974Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 21:39:02 PDT demo1 bash[2703480]: 2024-06-03T04:39:02.978Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 21:49:03 PDT demo1 bash[2703480]: 2024-06-03T04:49:03.056Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 21:59:03 PDT demo1 bash[2703480]: 2024-06-03T04:59:03.063Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 22:09:03 PDT demo1 bash[2703480]: 2024-06-03T05:09:03.068Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 22:19:03 PDT demo1 bash[2703480]: 2024-06-03T05:19:03.074Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 22:29:03 PDT demo1 bash[2703480]: 2024-06-03T05:29:03.101Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 22:39:03 PDT demo1 bash[2703480]: 2024-06-03T05:39:03.151Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 22:49:03 PDT demo1 bash[2703480]: 2024-06-03T05:49:03.190Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 22:59:03 PDT demo1 bash[2703480]: 2024-06-03T05:59:03.210Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 23:09:03 PDT demo1 bash[2703480]: 2024-06-03T06:09:03.252Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 23:19:03 PDT demo1 bash[2703480]: 2024-06-03T06:19:03.258Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 23:29:03 PDT demo1 bash[2703480]: 2024-06-03T06:29:03.323Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 23:39:03 PDT demo1 bash[2703480]: 2024-06-03T06:39:03.332Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 23:49:03 PDT demo1 bash[2703480]: 2024-06-03T06:49:03.376Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Sun 2024-06-02 23:59:03 PDT demo1 bash[2703480]: 2024-06-03T06:59:03.423Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 00:09:03 PDT demo1 bash[2703480]: 2024-06-03T07:09:03.450Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 00:19:03 PDT demo1 bash[2703480]: 2024-06-03T07:19:03.478Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 00:29:03 PDT demo1 bash[2703480]: 2024-06-03T07:29:03.534Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 00:39:03 PDT demo1 bash[2703480]: 2024-06-03T07:39:03.585Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 00:49:03 PDT demo1 bash[2703480]: 2024-06-03T07:49:03.585Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 00:59:03 PDT demo1 bash[2703480]: 2024-06-03T07:59:03.595Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 01:09:03 PDT demo1 bash[2703480]: 2024-06-03T08:09:03.661Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 01:19:03 PDT demo1 bash[2703480]: 2024-06-03T08:19:03.696Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 01:29:03 PDT demo1 bash[2703480]: 2024-06-03T08:29:03.761Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 01:39:03 PDT demo1 bash[2703480]: 2024-06-03T08:39:03.790Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 01:49:03 PDT demo1 bash[2703480]: 2024-06-03T08:49:03.850Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 01:59:03 PDT demo1 bash[2703480]: 2024-06-03T08:59:03.900Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 02:09:03 PDT demo1 bash[2703480]: 2024-06-03T09:09:03.960Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 02:19:03 PDT demo1 bash[2703480]: 2024-06-03T09:19:03.990Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 02:29:04 PDT demo1 bash[2703480]: 2024-06-03T09:29:04.014Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 02:39:04 PDT demo1 bash[2703480]: 2024-06-03T09:39:04.041Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 02:49:04 PDT demo1 bash[2703480]: 2024-06-03T09:49:04.094Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 02:59:04 PDT demo1 bash[2703480]: 2024-06-03T09:59:04.125Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 03:09:04 PDT demo1 bash[2703480]: 2024-06-03T10:09:04.172Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 03:19:04 PDT demo1 bash[2703480]: 2024-06-03T10:19:04.174Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 03:29:04 PDT demo1 bash[2703480]: 2024-06-03T10:29:04.228Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 03:39:04 PDT demo1 bash[2703480]: 2024-06-03T10:39:04.259Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 03:49:04 PDT demo1 bash[2703480]: 2024-06-03T10:49:04.279Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 03:59:04 PDT demo1 bash[2703480]: 2024-06-03T10:59:04.297Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 04:09:04 PDT demo1 bash[2703480]: 2024-06-03T11:09:04.332Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 04:19:04 PDT demo1 bash[2703480]: 2024-06-03T11:19:04.387Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 04:29:07 PDT demo1 bash[2703480]: 2024-06-03T11:29:07.579Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 04:39:04 PDT demo1 bash[2703480]: 2024-06-03T11:39:04.425Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 04:49:04 PDT demo1 bash[2703480]: 2024-06-03T11:49:04.481Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 04:59:04 PDT demo1 bash[2703480]: 2024-06-03T11:59:04.514Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 05:09:04 PDT demo1 bash[2703480]: 2024-06-03T12:09:04.540Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 05:19:04 PDT demo1 bash[2703480]: 2024-06-03T12:19:04.555Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 05:29:04 PDT demo1 bash[2703480]: 2024-06-03T12:29:04.599Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 05:39:04 PDT demo1 bash[2703480]: 2024-06-03T12:39:04.636Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 05:49:04 PDT demo1 bash[2703480]: 2024-06-03T12:49:04.644Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 05:59:04 PDT demo1 bash[2703480]: 2024-06-03T12:59:04.654Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 06:09:04 PDT demo1 bash[2703480]: 2024-06-03T13:09:04.697Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 06:19:04 PDT demo1 bash[2703480]: 2024-06-03T13:19:04.726Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 06:29:04 PDT demo1 bash[2703480]: 2024-06-03T13:29:04.741Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: low fees.
Mon 2024-06-03 06:39:04 PDT demo1 bash[2703480]: 2024-06-03T13:39:04.747Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 06:49:04 PDT demo1 bash[2703480]: 2024-06-03T13:49:04.751Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 06:59:04 PDT demo1 bash[2703480]: 2024-06-03T13:59:04.756Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 07:09:04 PDT demo1 bash[2703480]: 2024-06-03T14:09:04.796Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 07:19:04 PDT demo1 bash[2703480]: 2024-06-03T14:19:04.788Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 07:29:04 PDT demo1 bash[2703480]: 2024-06-03T14:29:04.822Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 07:39:04 PDT demo1 bash[2703480]: 2024-06-03T14:39:04.875Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 07:49:04 PDT demo1 bash[2703480]: 2024-06-03T14:49:04.926Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 07:59:04 PDT demo1 bash[2703480]: 2024-06-03T14:59:04.964Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 08:09:04 PDT demo1 bash[2703480]: 2024-06-03T15:09:04.984Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 08:19:05 PDT demo1 bash[2703480]: 2024-06-03T15:19:05.016Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 08:29:05 PDT demo1 bash[2703480]: 2024-06-03T15:29:05.010Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 08:39:05 PDT demo1 bash[2703480]: 2024-06-03T15:39:05.062Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 08:49:05 PDT demo1 bash[2703480]: 2024-06-03T15:49:05.049Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 08:59:05 PDT demo1 bash[2703480]: 2024-06-03T15:59:05.089Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 09:09:05 PDT demo1 bash[2703480]: 2024-06-03T16:09:05.102Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.
Mon 2024-06-03 09:19:05 PDT demo1 bash[2703480]: 2024-06-03T16:19:05.107Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: high fees.

They both recognize a coherent low-fee env around the same time, looks pretty good to me.

@ksedgwic ksedgwic force-pushed the 2024-06-current-fee-samples branch 9 times, most recently from 9615654 to 7da2f08 Compare June 17, 2024 00:20
@ksedgwic
Copy link
Collaborator Author

I've modified this PR to use a "hybrid" approach with a little synthetic data. It's ready for review

@ksedgwic ksedgwic marked this pull request as ready for review June 17, 2024 00:29
@ksedgwic ksedgwic changed the title Don't initialize feerate history with sample data Improve Initialization of OnchainFeeMonitor with Conservative Synthetic History Jun 17, 2024
@ksedgwic ksedgwic mentioned this pull request Jun 17, 2024
8 tasks
@ksedgwic ksedgwic force-pushed the 2024-06-current-fee-samples branch from 7da2f08 to c991a5b Compare June 17, 2024 04:01
@ksedgwic
Copy link
Collaborator Author

I pushed an additional commit which logs the h2l, mid, l2h and last_feerate in addition to the decision:

2024-06-21T05:44:52.883Z DEBUG   plugin-clboss: OnchainFeeMonitor: Init: (88681, 94227, 103816): 256692: high fees.
2024-06-21T05:54:52.824Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: (88681, 94227, 103816): 256697: high fees.
2024-06-21T06:04:52.885Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: (88681, 94227, 103816): 256697: high fees.
2024-06-21T06:14:52.933Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: (88681, 94227, 125024): 256690: high fees.
2024-06-21T06:24:52.988Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: (88681, 94227, 125024): 256690: high fees.
2024-06-21T06:34:53.047Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: (88685, 94227, 125024): 256690: high fees.
2024-06-21T06:44:53.089Z DEBUG   plugin-clboss: OnchainFeeMonitor: Periodic: (88685, 94227, 125024): 256693: high fees.

…ic History

Previously, CLBOSS initialized the OnchainFeeMonitor with 2 weeks of
synthetic data collected at an arbitrary time on an unknown
system. This historical data often failed to accurately determine
low/high fee conditions until 2 weeks had passed.

This update changes the initialization to use a smaller amount of
deliberately conservative history. This approach discourages CLBOSS
from prematurely declaring a low-fee environment, while still allowing
it to recognize low fees after a few days.

The new size is designed to have 50% influence on the lower 20th
percentile after 24 hours (24 * 6 * 20% * 0.5 = 14.4). This influence
decreases over time: to 25% after two days, 10% after five days, and
continues to decay until it has no effect after two weeks.

It's important to note that CLBOSS will still function in high fee
environments to manage initial liquidity, so this change does not
impact its ability to operate effectively.
@ksedgwic ksedgwic force-pushed the 2024-06-current-fee-samples branch from f7114d1 to 1bb6156 Compare June 28, 2024 18:10
Copy link
Contributor

@vincenzopalazzo vincenzopalazzo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, ACK 1bb6156

@ksedgwic ksedgwic merged commit c8cf41d into ZmnSCPxj:master Jul 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants