.. _data_agent_fin: ===================== Finance Data Agent ===================== **๐Ÿค– Automated Quantitative Trading & Iterative Factors Evolution** ------------------------------------------------------------------- ๐Ÿ“– Background ~~~~~~~~~~~~~~ In the dynamic world of quantitative trading, **factors** serve as the strategic tools that enable traders to exploit market inefficiencies. These factorsโ€”ranging from simple metrics like price-to-earnings ratios to complex models like discounted cash flowsโ€”are the key to predicting stock prices with a high degree of accuracy. By leveraging these factors, quantitative traders can develop sophisticated strategies that not only identify market patterns but also significantly enhance trading efficiency and precision. The ability to systematically analyze and apply these factors is what separates ordinary trading from truly strategic market outmaneuvering. And this is where the **Finance Model Agent** comes into play. ๐ŸŽฅ `Demo `_ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. raw:: html
๐ŸŒŸ Introduction ~~~~~~~~~~~~~~~~ In this scenario, our agent illustrates the iterative process of hypothesis generation, knowledge construction, and decision-making. It highlights how financial factors evolve through continuous feedback and refinement. Here's an enhanced outline of the steps: **Step 1 : Hypothesis Generation ๐Ÿ”** - Generate and propose initial hypotheses based on previous experiment analysis and domain expertise, with thorough reasoning and financial justification. **Step 2 : Factor Creation โœจ** - Based on the hypothesis, divide the tasks. - Each task involves developing, defining, and implementing a new financial factor, including its name, description, formulation, and variables. **Step 3 : Factor Implementation ๐Ÿ‘จโ€๐Ÿ’ป** - Implement the factor code based on the description, evolving it as a developer would. - Quantitatively validate the newly created factors. **Step 4 : Backtesting with Qlib ๐Ÿ“‰** - Integrate the full dataset into the factor implementation code and prepare the factor library. - Conduct backtesting using the Alpha158 plus newly developed factors and LGBModel in Qlib to evaluate the new factors' effectiveness and performance. +----------------+------------+----------------+----------------------------------------------------+ | Dataset | Model | Factors | Data Split | +================+============+================+====================================================+ | CSI300 | LGBModel | Alpha158 Plus | +-----------+--------------------------+ | | | | | | Train | 2008-01-01 to 2014-12-31 | | | | | | +-----------+--------------------------+ | | | | | | Valid | 2015-01-01 to 2016-12-31 | | | | | | +-----------+--------------------------+ | | | | | | Test | 2017-01-01 to 2020-08-01 | | | | | | +-----------+--------------------------+ | +----------------+------------+----------------+----------------------------------------------------+ **Step 5 : Feedback Analysis ๐Ÿ”** - Analyze backtest results to assess performance. - Incorporate feedback to refine hypotheses and improve the model. **Step 6 :Hypothesis Refinement โ™ป๏ธ** - Refine hypotheses based on feedback from backtesting. - Repeat the process to continuously improve the model. โšก Quick Start ~~~~~~~~~~~~~~~~~ Please refer to the installation part in :doc:`../installation_and_configuration` to prepare your system dependency. You can try our demo by running the following command: - ๐Ÿ Create a Conda Environment - Create a new conda environment with Python (3.10 and 3.11 are well tested in our CI): .. code-block:: sh conda create -n rdagent python=3.10 - Activate the environment: .. code-block:: sh conda activate rdagent - ๐Ÿ“ฆ Install the RDAgent - You can install the RDAgent package from PyPI: .. code-block:: sh pip install rdagent - ๐Ÿš€ Run the Application - You can directly run the application by using the following command: .. code-block:: sh rdagent fin_factor ๐Ÿ› ๏ธ Usage of modules ~~~~~~~~~~~~~~~~~~~~~ .. _Env Config: - **Env Config** The following environment variables can be set in the `.env` file to customize the application's behavior: .. autopydantic_settings:: rdagent.app.qlib_rd_loop.conf.FactorBasePropSetting :settings-show-field-summary: False :exclude-members: Config .. autopydantic_settings:: rdagent.components.coder.factor_coder.config.FactorCoSTEERSettings :settings-show-field-summary: False :members: coder_use_cache, data_folder, data_folder_debug, file_based_execution_timeout, select_method, max_loop, knowledge_base_path, new_knowledge_base_path :exclude-members: Config, fail_task_trial_limit, v1_query_former_trace_limit, v1_query_similar_success_limit, v2_query_component_limit, v2_query_error_limit, v2_query_former_trace_limit, v2_error_summary, v2_knowledge_sampler :no-index: