python 自动获取通达信自定义板块股票

对于个人量化开发投资者来讲,有两个事情最难,1、一个好的策略,2、好的行情数据源。

好的策略相信大部分人自己都会有想对应的策略,但想把这些策略全部搬到量化平台还是挺难的,今天介绍一个比较简单的方案。使用通达信的预警功能,或者是 使用策略股票池功能,来自动计算哪些标的符合自己的要求。然后通过下面的py代码就可以直接读取到数据,并保存在dltp.csv文件中进行存储。当然这是第一步获取标的。其后是获取行情数据,并进行实时监听,然后进行自动下单处理。

下面是一个读取通达信自定义板块的全部功能实现,包括新增、删除都会自动同步进行更新

import os
import re
import time
import csv
import traceback
import chardet


from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler


class TDXBlockMonitor(FileSystemEventHandler):
    def __init__(self, file_path, callback):
        self.file_path = os.path.abspath(file_path)
        self.callback = callback
        self.last_modified = 0
        self.current_codes = set()
        self.encoding = 'gbk'
        self._initialize()

    def _initialize(self):
        """强化初始化流程"""
       
try:
            print(f"\n[初始化] 正在加载文件: {self.file_path}")
            if not os.path.exists(self.file_path):
                raise FileNotFoundError("文件不存在")

            with open(self.file_path, 'rb') as f:
                # 动态编码检测
                raw_data = f.read(4096)
                result = chardet.detect(raw_data)
                self.encoding = result['encoding'] or 'gbk'
                if self.encoding.lower() not in ['gbk', 'utf-8', 'ascii']:
                    self.encoding = 'gbk'

                f.seek(0)
                content = f.read().decode(self.encoding, errors='replace')
                print(f"文件内容样本:\n{content[:200]}...")

                new_codes = self._parse_content(content)
                print(f"解析到有效代码: {len(new_codes)}个")

      &nb

你可能感兴趣的:(python,开发语言,前端)