社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

「开源AGI智能因子挖掘」AGI交易助手v0.2代码发布 | 年化200%+策略集(python代码+数据下载)

七年实现财富自由 • 2 周前 • 31 次点击  
原创内容第837篇,专注智能量化投资、个人成长与财富自由。
这几天折腾一了圈智能量化平台的gui,基本上确定了选型:
年化33.9%的稳健策略 | streamlit和dash驱动的智能量化投研(python代码+数据)
思考:结合大模型智能体平台,我们知能投研能做什么?
自动获取信息,结构化数据,自动去生成因子,自动评价因子效果,然后生成策略,动态调整策略。
传统量化投资,或者说深度学习驱动的量化投资,都有一个问题,就是策略是“静态”的。
指标也好,因子也好,都是对过去规律的“拟合”。因子在某段时间“恰好”有效罢了。
一个动态的量化系统,应该是开放式的,这是主观交易的优点,而智能体可能可以替换一部分“主观”交易。
代码已经提交到大模型星球:
import os

from dotenv import load_dotenv
from langchain_community.adapters.openai import convert_openai_messages

from core.tools.api import logger
from core.tools.openrouter_config import env_path
from core.utils.logging_config import ERROR_ICON, SUCCESS_ICON


def read_file_2_list(filepath):
    with open(filepath, 'r'encoding='utf-8'errors='ignore'as f:
        text = f.readlines()
    return text


sample_json = """
{
  "expr": 生成的因子表达式,
  "desc": 对该因子表达式的解释说明
}
"""

from langchain_openai import ChatOpenAI
import json as json

加载环境变量
if os.path.exists(env_path):
    load_dotenv(env_path, override=True)
    logger.info(f"{SUCCESS_ICON已加载环境变量{env_path}")
else:
    logger.warning(f"{ERROR_ICON未找到环境变量文件{env_path}")

验证环境变量
api_key = os.getenv("API_KEY")


class FactorGPTAgent:
    def __init__(self):
        self.sources = [x.strip() for in read_file_2_list('worldquant_101.txt')]
        optional_params = {
            "response_format" : {"type""json_object"}
        }
        # openai_api_key = KIMI_KEY
        self.model = ChatOpenAI(temperature=0openai_api_key=api_key, model='moonshot-v1-8k',
                                base_url="https://api.moonshot.cn/v1"max_retries=1model_kwargs=optional_params)

    def build_prompt(self):
        prompt = [{
            "role""system",
            "content""你是一个量化分析师你可以通过阅读多个alpha因子表达式,总结其内在规律,并且可以创新性的生成可用的因子表达式。"
                       "对于生成的表达式,你能够解释其有效性,并且能够用清晰简洁的语言解释其各个变量的含义。\n "
        }, {
            "role""user",
            "content"f"指令描述生成因子表达式"
                       f"样例数据:{self.sources}\n"
                       f"你的任务学习以上资源之后,总结其规律,输出一个同类型表达式。\n "
                       f"书写表达式时,请仅使用样例数据里的函数,每次生成1个,,生成的表达式,不要带Alpha#xxx,期望因子的相关性低\n"
                       f"Please return nothing but a JSON in the following format:\n"
                       f"{sample_json}\n "
        }]
        return prompt

    def run(self):
        lc_messages = convert_openai_messages(self.build_prompt())
        response = self.model.invoke(
            lc_messages).content
        print(response)
        return json.loads(response)


if __name__ == '__main__':
    FactorGPTAgent().run()

2025-03-25 14:33:26 - api_calls - INFO - ✓ 已加载环境变量: D:\work\AGI\.env

2025-03-25 14:33:26 - api_calls - INFO - 🔄 使用基础 URL: https://api.moonshot.cn/v1

2025-03-25 14:33:26 - api_calls - INFO - 🔄 使用模型: moonshot-v1-32k

2025-03-25 14:33:28 - api - INFO - ✓ 已加载环境变量: D:\work\AGI\.env

{

  "expr": "(-1 * rank(correlation(rank(((close - open) / open)), rank(volume), 5)))",

  "desc": "这个因子表达式计算了股票开盘价与收盘价之差与开盘价的比值的排名与成交量排名之间的相关性,并且取其负值。具体来说,'((close - open) / open)' 表示的是开盘价与收盘价之间的百分比变化,这个比值越大,说明价格从开盘到收盘的变化幅度越大。'rank(volume)' 是成交量的排名,成交量越大,排名越高。'correlation' 函数计算这两个排名之间的相关性,衡量了价格变化幅度与成交量之间的关联程度。最后取负值,意味着我们寻找负相关性,即价格变化幅度大时,成交量反而小,或者价格变化幅度小时,成交量大的情况。这种因子可能捕捉到了市场流动性或者价格操纵的迹象。"

}

吾日三省吾身
把眼光放长远一点:比如想象五年后,十年后的理想状态。
把目标放大一点:比如先赚它个1000个W或者一个小目标。
每周三定为咱们AGI通用智能实验室」发布源代码的日子。
加入如下星球下载 投资智能体 所有系统代码:
「这个星球:专注AGI通用智能及智能体应用开发

网站上的不少同学的策略创下新高,有点“不可思议”,当然系统和策略代码都是交付的,欢迎大家提出不同的看法,未来函数什么的,是肯定没有的。(http://ailabx.com/mall)


代码下载地址:AI量化实验室——2025量化投资的星辰大海
点“阅读原文”查看策略列表。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/180650
 
31 次点击