docstr: Parameters
  ----------
  source_dir: str
      The directory where the raw data collected from the Internet is saved, default "Path(__file__).parent/source"
  normalize_dir: str
      Directory for normalize data, default "Path(__file__).parent/normalize"
  max_workers: int
      Concurrent number, default is 4
  interval: str
      freq, value from [1min, 1d], default 1d
  region: str
      region, value from ["CN"], default "CN"
docstr_tok: ["Parameters","--","--","--","--","--","source_dir",":","str","The","directory","where","the","raw","data","collected","from","the","Internet","is","saved",",","default","``","Path","(","__file__",")",".parent\/source","''","normalize_dir",":","str","Directory","for","normalize","data",",","default","``","Path","(","__file__",")",".parent\/normalize","''","max_workers",":","int","Concurrent","number",",","default","is","4","interval",":","str","freq",",","value","from","[","1min",",","1d","]",",","default","1d","region",":","str","region",",","value","from","[","``","CN","''","]",",","default","``","CN","''"]
code: def __init__(
      self,
      source_dir=None,
      normalize_dir=None,
      max_workers=4,
      interval="1d",
      region=REGION_CN,
  ):
      """
  
      Parameters
      ----------
      source_dir: str
          The directory where the raw data collected from the Internet is saved, default "Path(__file__).parent/source"
      normalize_dir: str
          Directory for normalize data, default "Path(__file__).parent/normalize"
      max_workers: int
          Concurrent number, default is 4
      interval: str
          freq, value from [1min, 1d], default 1d
      region: str
          region, value from ["CN"], default "CN"
      """
      super().__init__(source_dir, normalize_dir, max_workers, interval)
      self.region = region
  
imports: import abc
  import sys
  import datetime
  import json
  from abc import ABC
  from pathlib import Path
  import fire
  import requests
  import pandas
  from loguru import logger
  from dateutil.tz import tzlocal
  from qlib.constant import REG_CN
  from data_collector.base import BaseCollector, BaseNormalize, BaseRun
  from data_collector.utils import get_calendar_list, get_en_fund_symbols
label_desc: Use image node_id 1 to create a new Run object from inherited base classes: BaseRun with example: obj = Run(source_dir, normalize_dir, max_workers, interval, region)