‹ Reports
The Dispatch

OSS Report: freqtrade/freqtrade


Development Stagnation as Freqtrade Faces Persistent Exchange Integration Issues

Freqtrade, an open-source cryptocurrency trading bot, is experiencing development stagnation with ongoing challenges in exchange integration and strategy execution. The project aims to automate trading across exchanges like Binance and Kraken using Python.

Recent Activity

Recent issues highlight persistent problems with exchange integrations, particularly with OKX (#10704) and discrepancies in strategy behavior during dry runs (#10680). The FreqAI component continues to cause segmentation faults on Apple M2 systems (#10542), indicating unresolved compatibility issues. Users are also confused about leverage handling and order types, suggesting documentation gaps.

Development Team and Recent Activity

Matthias (xmatthias)

dependabot[bot]

TheJoeSchr

jainanuj94

KingND

Of Note

  1. Exchange Integration Issues: Persistent problems with OKX and leverage handling.
  2. FreqAI Segmentation Faults: Ongoing compatibility issues on Apple M2.
  3. Strategy Execution Confusion: Discrepancies in dry run vs. live modes.
  4. Documentation Gaps: Users struggle with leverage and order type clarity.
  5. Active Dependency Management: Regular updates indicate focus on security and performance.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 15 20 53 1 1
30 Days 51 50 165 2 1
90 Days 123 123 485 4 1
1 Year 213 199 846 5 1
All Time 4680 4642 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
Matthias 4 2/2/0 100 354 20290
github-actions[bot] 1 0/0/0 32 73 7172
Anuj Jain 1 1/2/0 5 6 430
Pixel 1 1/1/0 7 3 212
dependabot[bot] 3 59/55/4 55 12 126
TheJoeSchr 1 1/1/0 2 2 12
iridescentGray 1 1/1/0 1 1 8
dxbstyle 1 1/1/0 1 1 1
Axel CH 0 0/0/0 0 0 0
Mohamed abd elkhalek (Moudux1) 0 1/0/1 0 0 0
Jakub W. (jakubikan) 0 1/0/0 0 0 0
None (uplight-dev) 0 1/0/1 0 0 0
Botting away . . . (freqtrade-bot) 0 9/9/0 0 0 0
None (benjaminmatthews) 0 1/0/1 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The recent activity on the Freqtrade GitHub repository shows a total of 38 open issues, with several discussions revolving around bugs, feature requests, and user queries. Notably, there are recurring themes related to integration with exchanges, particularly Binance and Kraken, as well as issues with the FreqAI machine learning component. Anomalies include users experiencing crashes or unexpected behavior when executing trades, especially in live environments.

Several issues highlight confusion regarding the handling of leverage and order types across different exchanges, indicating potential gaps in documentation or implementation that could affect user experience. The presence of multiple questions about strategy execution and market conditions suggests that users are actively seeking clarity on how to optimize their trading strategies effectively.

Issue Details

  1. Issue #10704: ccxt.base.errors.ExchangeError: okx {"message":"An unexpected error occurred"}

    • Priority: Triage Needed
    • Status: Open
    • Created: 0 days ago
    • Update: N/A
    • Description: User reports an error when using the Freqtrade bot with OKX, indicating issues with trade execution.
  2. Issue #10680: Unexpected strategy behavior with 1d timeframe in dry run mode

    • Priority: Question
    • Status: Open
    • Created: 5 days ago
    • Update: N/A
    • Description: User observes discrepancies in strategy behavior when using a daily timeframe in dry run mode.
  3. Issue #10542: FreqAI segmentation fault on Apple M2 (metal)

    • Priority: Triage Needed
    • Status: Open
    • Created: 39 days ago
    • Update: Edited 32 days ago
    • Description: User encounters a segmentation fault while trying to train a model in trade or backtesting mode.
  4. Issue #10517: Getting episodic trades to the reward function on freqtrade-rl

    • Priority: Question
    • Status: Open
    • Created: 47 days ago
    • Update: Edited 35 days ago
    • Description: User seeks guidance on incorporating periodic results into the reward function for reinforcement learning.
  5. Issue #10634: Error during backtesting QuickAdapterV3 KeyError: '&s-extrema'

    • Priority: Question
    • Status: Open
    • Created: 11 days ago
    • Update: Edited 6 days ago
    • Description: User encounters a KeyError during backtesting with the QuickAdapterV3 model.

Important Observations

  • There is a noticeable trend of users facing integration issues with specific exchanges, particularly regarding leverage and order types.
  • Several users are seeking clarity on how to effectively implement strategies using the FreqAI component, indicating a need for more comprehensive documentation or examples.
  • The community appears engaged, with many users actively discussing their challenges and solutions, which may lead to improvements in future releases.

Summary of Issues

  • Users are experiencing critical errors related to exchange integrations (e.g., OKX and Binance).
  • There is confusion about expected behavior in dry run versus live trading modes.
  • The FreqAI component is causing segmentation faults and other errors for some users.
  • Documentation may need enhancements to better guide users through common pitfalls and advanced features.

Report On: Fetch pull requests



Overview

The analysis of the provided pull requests (PRs) for the Freqtrade project reveals a mix of enhancements, dependency updates, and maintenance tasks. The PRs cover various aspects of the project, including improvements to trading functionalities, updates to dependencies like ccxt, torch, and pydantic, and refinements in documentation and configuration files.

Summary of Pull Requests

  1. PR #10671: Category for market cap pairlist

    • Significance: Introduces a new category filter for market cap pairlists, allowing users to filter pairs based on specific categories like 'layer-1'.
    • Notable: Discussion around handling duplicates in filtered pairlists and potential issues with non-unique coin symbols.
  2. PR #10062: Feature: Proceed exit while having open order, for backtesting and live

    • Significance: Allows trades to exit properly even when there are open orders, addressing issue #9760.
    • Notable: Involves complex changes to trade exit logic and requires careful consideration of trading states.
  3. PR #10491: chore(deps): bump xgboost from 2.0.3 to 2.1.1

    • Significance: Updates the xgboost library to a newer version, potentially bringing performance improvements and bug fixes.
    • Notable: Dependency updates are crucial for maintaining compatibility and leveraging improvements in third-party libraries.
  4. PR #10243: Draft: Add DDPG and TD3 model options for RL

    • Significance: Expands reinforcement learning capabilities by adding support for DDPG and TD3 models.
    • Notable: Represents ongoing efforts to enhance FreqAI's predictive modeling capabilities.
  5. PR #10173: Fix mutable defaults, enable bugbear ruff rule

    • Significance: Addresses issues with mutable default arguments in functions, which can lead to unexpected behavior.
    • Notable: Highlights the importance of code quality and adherence to best practices in software development.
  6. PR #10098: implemented a parameter for skipping errors during model training in the backtest process

    • Significance: Introduces a parameter to skip errors during model training in backtesting, allowing for more robust testing scenarios.
    • Notable: Reflects efforts to improve the flexibility and usability of backtesting features.
  7. PR #9989: 9985 delist schedule

    • Significance: Implements functionality to check if a trading pair is scheduled for delisting on exchanges.
    • Notable: Enhances the bot's ability to manage trading pairs dynamically based on their status on exchanges.
  8. PR #9305: optimize dtypes for hyperopt and backtesting to decrease memory usage

    • Significance: Optimizes data types used in hyperparameter optimization and backtesting to reduce memory usage.
    • Notable: Represents ongoing efforts to improve performance and efficiency in resource usage.

Analysis of Pull Requests

Themes

  • Enhancements and Features: Several PRs focus on adding new features or enhancing existing functionalities, such as support for new models in reinforcement learning (PR #10243) or allowing exits while having open orders (PR #10062). These enhancements indicate active development aimed at expanding the capabilities of Freqtrade.

  • Dependency Management: Regular updates to dependencies like xgboost (PR #10491), torch (PR #10664), and others are evident. These updates are crucial for leveraging improvements from third-party libraries and ensuring compatibility with newer versions of these libraries.

  • Code Quality and Maintenance: PRs addressing code quality issues (PR #10173) or optimizing memory usage (PR #9305) highlight ongoing maintenance efforts. Such efforts are essential for maintaining the reliability and efficiency of the software.

Commonalities

  • Many PRs involve discussions among contributors about implementation details, potential issues, and improvements. This collaborative approach is vital for refining features before they are merged into the main branch.

  • Several PRs include coverage reports from Coveralls, indicating that contributors are mindful of maintaining or improving test coverage with their changes.

Notable Anomalies

  • The presence of draft PRs (like PR #10243) suggests that some features are still under development or experimentation. This is common in active projects where new ideas are being explored.

  • The discussion around handling duplicates in market cap pairlists (PR #10671) highlights challenges related to data consistency and accuracy, which are critical in trading applications.

Conclusion

The analysis of these pull requests reveals a vibrant development activity within the Freqtrade project, characterized by continuous enhancements, diligent maintenance, and proactive management of dependencies. The collaborative discussions among contributors further emphasize the project's commitment to quality and innovation in automated cryptocurrency trading solutions.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members

  • Matthias (xmatthias): Primary contributor with extensive recent activity.
  • dependabot[bot]: Automated dependency management.
  • TheJoeSchr: Minor contributions related to plotting.
  • jainanuj94: Contributions focused on backtesting features.
  • iridescentGray: Minor contributions.
  • dxbstyle: Minor contributions.
  • KingND: Minor contributions related to documentation and analysis features.
  • Moudux1, freqtrade-bot, jakubikan, uplight-dev, benjaminmatthews, github-actions[bot], Axel-CH: No recent commits.

Recent Activities

Matthias (xmatthias)

  • Merge Pull Requests: Actively merged multiple PRs including dependency updates and feature enhancements.
  • Features Implemented:

    • Initialized trade objects with amount=0 to represent owned amounts.
    • Improved wallet handling and order parsing resilience.
    • Updated Binance leverage tiers.
    • Enhanced test coverage for various functionalities including wallets and trading logic.
  • Bug Fixes:

    • Addressed issues in profit calculations and random test failures.
    • Fixed odd calculations in calc_profit_ratio.
  • Documentation Updates:

    • Added hints about amount being zero in trade objects documentation.
    • Updated various sections of the documentation to reflect recent changes.

dependabot[bot]

  • Dependency Management: Managed updates for numerous dependencies including ccxt, sqlalchemy, fastapi, and others.
  • Pull Requests Merged: High volume of automated PRs for dependency updates, indicating a focus on keeping the project up-to-date with library versions.

TheJoeSchr

  • Contributed fixes for plotting order flow data.

jainanuj94

  • Focused on enhancing backtesting features with new filters.

KingND

  • Contributed minor updates to documentation regarding lookahead analysis.

Patterns and Themes

  1. Active Development: The primary contributor, Matthias, shows consistent activity with a focus on both feature development and bug fixing. This indicates a robust ongoing development cycle.
  2. Automated Dependency Management: The presence of dependabot suggests an emphasis on maintaining up-to-date dependencies, which is crucial for security and performance.
  3. Testing and Documentation: Significant efforts are being made to improve test coverage and documentation, which is essential for maintaining code quality and usability for end-users.
  4. Community Engagement: Contributions from multiple members indicate a collaborative environment, although the majority of the work is concentrated around a few key contributors.

Conclusion

The development team is actively engaged in enhancing the Freqtrade project through feature additions, bug fixes, and regular maintenance of dependencies. The focus on testing and documentation further supports the project's sustainability and usability in the cryptocurrency trading domain.