#!/usr/bin/env python3 """GNACS数据库完整初始化脚本""" import sys sys.path.insert(0, '/opt/nac/gnacs-service') from pymongo import MongoClient, ASCENDING, DESCENDING from datetime import datetime MONGO_URI = "mongodb://gnacs_user:GnacsDB2026!@127.0.0.1:27017/gnacs_db?authSource=admin" client = MongoClient(MONGO_URI) db = client["gnacs_db"] print("开始初始化GNACS数据库...") # ============================================================ # 1. 资产大类(20大类) # ============================================================ print("\n[1/4] 初始化20大类资产分类...") db.asset_classes.drop() asset_classes = [ { "class_id": "RE", "class_code": "01", "name_cn": "不动产", "name_en": "Real Estate", "token_standard": "ACC-20", "sub_classes": [ {"code": "RE01", "name": "住宅物业", "min_kyc": 2, "risk_weight": 0.5}, {"code": "RE02", "name": "商业地产", "min_kyc": 3, "risk_weight": 0.6}, {"code": "RE03", "name": "工业地产", "min_kyc": 3, "risk_weight": 0.65}, {"code": "RE04", "name": "土地使用权", "min_kyc": 3, "risk_weight": 0.7}, {"code": "RE05", "name": "REITs份额", "min_kyc": 2, "risk_weight": 0.45}, ], "gnacs_prefix": "940100", "min_kyc_level": 2, "risk_weight": 0.55, "valuation_method": "DCF+ComparableSales", "custodian_type": "CUST", "required_docs": ["title_deed", "property_survey", "valuation_report"], "description": "包括住宅、商业、工业地产及土地使用权等不动产资产" }, { "class_id": "FA", "class_code": "80", "name_cn": "金融资产", "name_en": "Financial Assets", "token_standard": "ACC-1400", "sub_classes": [ {"code": "FA01", "name": "股票收益权", "min_kyc": 3, "risk_weight": 0.7}, {"code": "FA02", "name": "公司债券", "min_kyc": 3, "risk_weight": 0.5}, {"code": "FA03", "name": "资产支持证券ABS", "min_kyc": 4, "risk_weight": 0.6}, {"code": "FA04", "name": "不良贷款NPL", "min_kyc": 4, "risk_weight": 0.8}, {"code": "FA05", "name": "基金份额", "min_kyc": 3, "risk_weight": 0.55}, {"code": "FA06", "name": "可转换债券", "min_kyc": 3, "risk_weight": 0.6}, ], "gnacs_prefix": "800000", "min_kyc_level": 3, "risk_weight": 0.65, "valuation_method": "DCF+MarketComparable", "custodian_type": "C001", "required_docs": ["prospectus", "financial_statements", "regulatory_approval"], "description": "股票、债券、ABS等金融证券类资产,需持牌机构参与" }, { "class_id": "CM", "class_code": "02", "name_cn": "大宗商品", "name_en": "Commodities", "token_standard": "ACC-1155", "sub_classes": [ {"code": "CM01", "name": "能源(石油/天然气)", "min_kyc": 3, "risk_weight": 0.75}, {"code": "CM02", "name": "贵金属(黄金/白银)", "min_kyc": 2, "risk_weight": 0.4}, {"code": "CM03", "name": "工业金属(铜/铝)", "min_kyc": 2, "risk_weight": 0.55}, {"code": "CM04", "name": "农产品", "min_kyc": 2, "risk_weight": 0.6}, {"code": "CM05", "name": "矿产资源", "min_kyc": 3, "risk_weight": 0.7}, ], "gnacs_prefix": "020000", "min_kyc_level": 2, "risk_weight": 0.6, "valuation_method": "SpotPrice+ForwardCurve", "custodian_type": "CUST", "required_docs": ["warehouse_receipt", "quality_certificate", "insurance_policy"], "description": "能源、金属、农产品等实物大宗商品" }, { "class_id": "AT", "class_code": "96", "name_cn": "艺术品与收藏品", "name_en": "Art & Collectibles", "token_standard": "ACC-721", "sub_classes": [ {"code": "AT01", "name": "当代艺术品", "min_kyc": 2, "risk_weight": 0.8}, {"code": "AT02", "name": "古典艺术品", "min_kyc": 3, "risk_weight": 0.85}, {"code": "AT03", "name": "古董文物", "min_kyc": 3, "risk_weight": 0.9}, {"code": "AT04", "name": "奢侈品收藏", "min_kyc": 2, "risk_weight": 0.75}, {"code": "AT05", "name": "数字艺术NFT", "min_kyc": 1, "risk_weight": 0.9}, {"code": "AT06", "name": "体育纪念品", "min_kyc": 2, "risk_weight": 0.8}, ], "gnacs_prefix": "960000", "min_kyc_level": 2, "risk_weight": 0.82, "valuation_method": "ExpertAppraisal+AuctionHistory", "custodian_type": "NANO", "required_docs": ["provenance_certificate", "expert_appraisal", "insurance_certificate"], "description": "艺术品、古董、收藏品等高价值文化资产,每件唯一" }, { "class_id": "IP", "class_code": "97", "name_cn": "知识产权", "name_en": "Intellectual Property", "token_standard": "ACC-721", "sub_classes": [ {"code": "IP01", "name": "发明专利", "min_kyc": 2, "risk_weight": 0.75}, {"code": "IP02", "name": "商标权", "min_kyc": 2, "risk_weight": 0.65}, {"code": "IP03", "name": "版权(文学/音乐/影视)", "min_kyc": 2, "risk_weight": 0.7}, {"code": "IP04", "name": "软件著作权", "min_kyc": 2, "risk_weight": 0.65}, {"code": "IP05", "name": "域名资产", "min_kyc": 1, "risk_weight": 0.6}, {"code": "IP06", "name": "商业秘密", "min_kyc": 3, "risk_weight": 0.8}, ], "gnacs_prefix": "970000", "min_kyc_level": 2, "risk_weight": 0.7, "valuation_method": "RoyaltyRelief+IncomeBased", "custodian_type": "DIGI", "required_docs": ["registration_certificate", "ownership_proof", "valuation_report"], "description": "专利、商标、版权等无形知识产权资产" }, { "class_id": "CC", "class_code": "98", "name_cn": "碳信用与ESG", "name_en": "Carbon Credits & ESG", "token_standard": "ACC-1155", "sub_classes": [ {"code": "CC01", "name": "碳排放配额(EUA)", "min_kyc": 2, "risk_weight": 0.5}, {"code": "CC02", "name": "自愿减排量(VER)", "min_kyc": 2, "risk_weight": 0.55}, {"code": "CC03", "name": "可再生能源证书(REC)", "min_kyc": 2, "risk_weight": 0.45}, {"code": "CC04", "name": "林业碳汇", "min_kyc": 2, "risk_weight": 0.6}, {"code": "CC05", "name": "蓝碳(海洋碳汇)", "min_kyc": 3, "risk_weight": 0.65}, ], "gnacs_prefix": "980000", "min_kyc_level": 2, "risk_weight": 0.52, "valuation_method": "MarketPrice+VerificationCost", "custodian_type": "DIGI", "required_docs": ["verification_report", "registry_certificate", "project_documentation"], "description": "碳排放权、可再生能源证书等ESG环境资产" }, { "class_id": "DA", "class_code": "90", "name_cn": "数字原生资产", "name_en": "Digital Native Assets", "token_standard": "ACC-20", "sub_classes": [ {"code": "DA01", "name": "封装BTC(wBTC)", "min_kyc": 2, "risk_weight": 0.85}, {"code": "DA02", "name": "封装ETH(wETH)", "min_kyc": 2, "risk_weight": 0.8}, {"code": "DA03", "name": "NAC治理代币", "min_kyc": 1, "risk_weight": 0.7}, {"code": "DA04", "name": "稳定币(USDT/USDC)", "min_kyc": 1, "risk_weight": 0.2}, ], "gnacs_prefix": "900000", "min_kyc_level": 1, "risk_weight": 0.75, "valuation_method": "MarketPrice", "custodian_type": "DIGI", "required_docs": ["source_wallet_proof", "aml_check"], "description": "封装跨链资产及NAC原生数字资产" }, { "class_id": "IF", "class_code": "07", "name_cn": "基础设施", "name_en": "Infrastructure", "token_standard": "ACC-20", "sub_classes": [ {"code": "IF01", "name": "交通基础设施(公路/铁路/港口)", "min_kyc": 4, "risk_weight": 0.45}, {"code": "IF02", "name": "能源基础设施(电厂/管道)", "min_kyc": 4, "risk_weight": 0.5}, {"code": "IF03", "name": "通信基础设施(数据中心/光缆)", "min_kyc": 3, "risk_weight": 0.55}, {"code": "IF04", "name": "公用事业(水务/污水处理)", "min_kyc": 3, "risk_weight": 0.4}, ], "gnacs_prefix": "070000", "min_kyc_level": 3, "risk_weight": 0.48, "valuation_method": "DCF+RegulatedAssetBase", "custodian_type": "CUST", "required_docs": ["concession_agreement", "regulatory_license", "technical_audit"], "description": "交通、能源、通信等大型基础设施资产" }, { "class_id": "NR", "class_code": "08", "name_cn": "自然资源", "name_en": "Natural Resources", "token_standard": "ACC-20", "sub_classes": [ {"code": "NR01", "name": "矿产开采权", "min_kyc": 3, "risk_weight": 0.7}, {"code": "NR02", "name": "森林资源", "min_kyc": 3, "risk_weight": 0.6}, {"code": "NR03", "name": "水资源使用权", "min_kyc": 3, "risk_weight": 0.55}, {"code": "NR04", "name": "渔业捕捞权", "min_kyc": 3, "risk_weight": 0.65}, ], "gnacs_prefix": "080000", "min_kyc_level": 3, "risk_weight": 0.63, "valuation_method": "ResourceReserve+DCF", "custodian_type": "CUST", "required_docs": ["mining_license", "resource_survey", "environmental_assessment"], "description": "矿产、森林、水资源等自然资源开采权" }, { "class_id": "EQ", "class_code": "09", "name_cn": "企业权益", "name_en": "Equity & Business Rights", "token_standard": "ACC-1400", "sub_classes": [ {"code": "EQ01", "name": "未上市股权(Pre-IPO)", "min_kyc": 3, "risk_weight": 0.8}, {"code": "EQ02", "name": "合伙人权益", "min_kyc": 3, "risk_weight": 0.75}, {"code": "EQ03", "name": "特许经营权", "min_kyc": 3, "risk_weight": 0.65}, {"code": "EQ04", "name": "收益权分成", "min_kyc": 3, "risk_weight": 0.7}, ], "gnacs_prefix": "090000", "min_kyc_level": 3, "risk_weight": 0.73, "valuation_method": "DCF+ComparableTransaction", "custodian_type": "C001", "required_docs": ["shareholder_agreement", "financial_audit", "business_license"], "description": "未上市企业股权、合伙权益及特许经营权" }, { "class_id": "DR", "class_code": "11", "name_cn": "债权资产", "name_en": "Debt & Receivables", "token_standard": "ACC-1400", "sub_classes": [ {"code": "DR01", "name": "应收账款", "min_kyc": 3, "risk_weight": 0.55}, {"code": "DR02", "name": "贷款债权", "min_kyc": 4, "risk_weight": 0.65}, {"code": "DR03", "name": "租赁债权", "min_kyc": 3, "risk_weight": 0.5}, {"code": "DR04", "name": "商业票据", "min_kyc": 3, "risk_weight": 0.45}, ], "gnacs_prefix": "110000", "min_kyc_level": 3, "risk_weight": 0.54, "valuation_method": "PresentValue+CreditRisk", "custodian_type": "C001", "required_docs": ["receivable_schedule", "debtor_credit_report", "legal_opinion"], "description": "应收账款、贷款债权、租赁债权等债权类资产" }, { "class_id": "IN", "class_code": "12", "name_cn": "保险资产", "name_en": "Insurance Assets", "token_standard": "ACC-20", "sub_classes": [ {"code": "IN01", "name": "人寿保险保单", "min_kyc": 3, "risk_weight": 0.4}, {"code": "IN02", "name": "财产保险", "min_kyc": 3, "risk_weight": 0.45}, {"code": "IN03", "name": "再保险合约", "min_kyc": 4, "risk_weight": 0.5}, ], "gnacs_prefix": "120000", "min_kyc_level": 3, "risk_weight": 0.45, "valuation_method": "ActuarialValue", "custodian_type": "C001", "required_docs": ["policy_document", "actuarial_report", "insurer_rating"], "description": "人寿保险、财产保险等保险资产" }, { "class_id": "AG", "class_code": "13", "name_cn": "农业资产", "name_en": "Agricultural Assets", "token_standard": "ACC-20", "sub_classes": [ {"code": "AG01", "name": "农地使用权", "min_kyc": 2, "risk_weight": 0.5}, {"code": "AG02", "name": "畜牧资产", "min_kyc": 2, "risk_weight": 0.6}, {"code": "AG03", "name": "农业设施", "min_kyc": 2, "risk_weight": 0.55}, {"code": "AG04", "name": "农业收益权", "min_kyc": 2, "risk_weight": 0.65}, ], "gnacs_prefix": "130000", "min_kyc_level": 2, "risk_weight": 0.58, "valuation_method": "IncomeCapitalization+AssetBased", "custodian_type": "CUST", "required_docs": ["land_use_certificate", "agricultural_license", "soil_report"], "description": "农地、畜牧、农业设施等农业类资产" }, { "class_id": "TR", "class_code": "14", "name_cn": "交通运输资产", "name_en": "Transport Assets", "token_standard": "ACC-20", "sub_classes": [ {"code": "TR01", "name": "航空器", "min_kyc": 4, "risk_weight": 0.6}, {"code": "TR02", "name": "船舶", "min_kyc": 3, "risk_weight": 0.55}, {"code": "TR03", "name": "铁路车辆", "min_kyc": 4, "risk_weight": 0.5}, {"code": "TR04", "name": "商用车队", "min_kyc": 3, "risk_weight": 0.6}, ], "gnacs_prefix": "140000", "min_kyc_level": 3, "risk_weight": 0.56, "valuation_method": "AssetBased+IncomeApproach", "custodian_type": "CUST", "required_docs": ["registration_certificate", "airworthiness_certificate", "insurance"], "description": "航空器、船舶、铁路车辆等交通运输类资产" }, { "class_id": "EQ2", "class_code": "15", "name_cn": "设备与机械", "name_en": "Equipment & Machinery", "token_standard": "ACC-20", "sub_classes": [ {"code": "EQ201", "name": "工业设备", "min_kyc": 2, "risk_weight": 0.6}, {"code": "EQ202", "name": "医疗设备", "min_kyc": 3, "risk_weight": 0.55}, {"code": "EQ203", "name": "科研设备", "min_kyc": 3, "risk_weight": 0.65}, {"code": "EQ204", "name": "建筑机械", "min_kyc": 2, "risk_weight": 0.65}, ], "gnacs_prefix": "150000", "min_kyc_level": 2, "risk_weight": 0.61, "valuation_method": "CostApproach+DepreciationModel", "custodian_type": "CUST", "required_docs": ["equipment_certificate", "maintenance_records", "insurance"], "description": "工业、医疗、科研等专业设备和机械" }, { "class_id": "DT", "class_code": "16", "name_cn": "数据资产", "name_en": "Data Assets", "token_standard": "ACC-721", "sub_classes": [ {"code": "DT01", "name": "用户数据集", "min_kyc": 3, "risk_weight": 0.7}, {"code": "DT02", "name": "商业数据", "min_kyc": 3, "risk_weight": 0.65}, {"code": "DT03", "name": "科研数据", "min_kyc": 2, "risk_weight": 0.6}, {"code": "DT04", "name": "地理空间数据", "min_kyc": 3, "risk_weight": 0.65}, ], "gnacs_prefix": "160000", "min_kyc_level": 2, "risk_weight": 0.65, "valuation_method": "IncomeBased+MarketComparable", "custodian_type": "DIGI", "required_docs": ["data_ownership_proof", "privacy_compliance_cert", "data_quality_report"], "description": "用户数据、商业数据、科研数据等数字数据资产" }, { "class_id": "BR", "class_code": "17", "name_cn": "无形商业资产", "name_en": "Intangible Business Assets", "token_standard": "ACC-20", "sub_classes": [ {"code": "BR01", "name": "品牌价值", "min_kyc": 3, "risk_weight": 0.8}, {"code": "BR02", "name": "商誉", "min_kyc": 3, "risk_weight": 0.85}, {"code": "BR03", "name": "客户关系", "min_kyc": 3, "risk_weight": 0.75}, {"code": "BR04", "name": "供应链关系", "min_kyc": 3, "risk_weight": 0.7}, ], "gnacs_prefix": "170000", "min_kyc_level": 3, "risk_weight": 0.78, "valuation_method": "ReliefFromRoyalty+ExcessEarnings", "custodian_type": "DIGI", "required_docs": ["brand_valuation_report", "financial_audit", "legal_opinion"], "description": "品牌价值、商誉、客户关系等无形商业资产" }, { "class_id": "SP", "class_code": "18", "name_cn": "体育资产", "name_en": "Sports Assets", "token_standard": "ACC-721", "sub_classes": [ {"code": "SP01", "name": "球员合同权益", "min_kyc": 3, "risk_weight": 0.85}, {"code": "SP02", "name": "赛事转播权", "min_kyc": 3, "risk_weight": 0.75}, {"code": "SP03", "name": "体育场馆", "min_kyc": 4, "risk_weight": 0.6}, {"code": "SP04", "name": "体育俱乐部股权", "min_kyc": 4, "risk_weight": 0.8}, ], "gnacs_prefix": "180000", "min_kyc_level": 3, "risk_weight": 0.75, "valuation_method": "IncomeBased+MarketComparable", "custodian_type": "CUST", "required_docs": ["contract_copy", "sports_federation_approval", "valuation_report"], "description": "球员合同、赛事权益、体育场馆等体育类资产" }, { "class_id": "CE", "class_code": "19", "name_cn": "文化娱乐资产", "name_en": "Cultural & Entertainment Assets", "token_standard": "ACC-721", "sub_classes": [ {"code": "CE01", "name": "影视版权", "min_kyc": 2, "risk_weight": 0.75}, {"code": "CE02", "name": "音乐版权", "min_kyc": 2, "risk_weight": 0.7}, {"code": "CE03", "name": "游戏资产", "min_kyc": 2, "risk_weight": 0.8}, {"code": "CE04", "name": "演出版权", "min_kyc": 2, "risk_weight": 0.72}, ], "gnacs_prefix": "190000", "min_kyc_level": 2, "risk_weight": 0.74, "valuation_method": "RoyaltyRelief+IncomeBased", "custodian_type": "DIGI", "required_docs": ["copyright_registration", "distribution_agreement", "royalty_history"], "description": "影视、音乐、游戏等文化娱乐版权资产" }, { "class_id": "CU", "class_code": "99", "name_cn": "自定义资产", "name_en": "Custom Assets", "token_standard": "ACC-20", "sub_classes": [], "gnacs_prefix": "990000", "min_kyc_level": 3, "risk_weight": 0.9, "valuation_method": "ExpertAppraisal", "custodian_type": "CUST", "required_docs": ["asset_description", "ownership_proof", "expert_opinion"], "description": "不属于上述19类的其他特殊资产,需专家评估" }, ] for ac in asset_classes: ac["created_at"] = datetime.utcnow() ac["updated_at"] = datetime.utcnow() ac["status"] = "active" result = db.asset_classes.insert_many(asset_classes) db.asset_classes.create_index([("class_id", ASCENDING)], unique=True) db.asset_classes.create_index([("class_code", ASCENDING)]) print(f" ✅ 插入 {len(result.inserted_ids)} 个资产大类") # ============================================================ # 2. 司法辖区注册表(60+辖区) # ============================================================ print("\n[2/4] 初始化60+司法辖区...") db.jurisdictions.drop() jurisdictions = [ # Tier 1 - 高度成熟监管(20个) {"code": "US", "name_cn": "美国", "name_en": "United States", "tier": 1, "region": "Americas", "regulator": "SEC/CFTC/FinCEN", "aml_framework": "BSA/PATRIOT", "fatf_member": True, "crs_participant": False, "fatca_applicable": True, "currency": "USD", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"requires_accredited_investor": True, "sec_reporting": True}}, {"code": "EU", "name_cn": "欧盟", "name_en": "European Union", "tier": 1, "region": "Europe", "regulator": "ESMA/EBA", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "EUR", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"mifid2_applicable": True, "gdpr_applicable": True}}, {"code": "GB", "name_cn": "英国", "name_en": "United Kingdom", "tier": 1, "region": "Europe", "regulator": "FCA/PRA", "aml_framework": "POCA2002", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "GBP", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"fca_authorization_required": True}}, {"code": "SG", "name_cn": "新加坡", "name_en": "Singapore", "tier": 1, "region": "ASEAN", "regulator": "MAS", "aml_framework": "CDSA/PSOA", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "SGD", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"mas_license_required": True, "rwa_friendly": True}}, {"code": "HK", "name_cn": "香港", "name_en": "Hong Kong", "tier": 1, "region": "Asia", "regulator": "SFC/HKMA", "aml_framework": "AMLO", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "HKD", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"sfc_license_required": True, "virtual_asset_regulated": True}}, {"code": "JP", "name_cn": "日本", "name_en": "Japan", "tier": 1, "region": "Asia", "regulator": "FSA/JFSA", "aml_framework": "AMLCFT", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "JPY", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"fsa_registration_required": True}}, {"code": "AE", "name_cn": "阿联酋", "name_en": "United Arab Emirates", "tier": 1, "region": "GCC", "regulator": "ADGM/DIFC/SCA", "aml_framework": "FATF", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "AED", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"free_zone_benefits": True, "rwa_hub": True}}, {"code": "CH", "name_cn": "瑞士", "name_en": "Switzerland", "tier": 1, "region": "Europe", "regulator": "FINMA", "aml_framework": "AMLA", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "CHF", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"finma_license_required": True, "crypto_valley": True}}, {"code": "DE", "name_cn": "德国", "name_en": "Germany", "tier": 1, "region": "Europe", "regulator": "BaFin", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "EUR", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"bafin_authorization_required": True}}, {"code": "FR", "name_cn": "法国", "name_en": "France", "tier": 1, "region": "Europe", "regulator": "AMF/ACPR", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "EUR", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"amf_visa_required": True}}, {"code": "CA", "name_cn": "加拿大", "name_en": "Canada", "tier": 1, "region": "Americas", "regulator": "OSC/CSA/FINTRAC", "aml_framework": "PCMLTFA", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "CAD", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"provincial_regulation": True}}, {"code": "AU", "name_cn": "澳大利亚", "name_en": "Australia", "tier": 1, "region": "Oceania", "regulator": "ASIC/AUSTRAC", "aml_framework": "AML/CTF", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "AUD", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"asic_license_required": True}}, {"code": "LU", "name_cn": "卢森堡", "name_en": "Luxembourg", "tier": 1, "region": "Europe", "regulator": "CSSF", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "EUR", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"fund_domicile_preferred": True}}, {"code": "KY", "name_cn": "开曼群岛", "name_en": "Cayman Islands", "tier": 1, "region": "Americas", "regulator": "CIMA", "aml_framework": "POCL", "fatf_member": False, "crs_participant": True, "fatca_applicable": False, "currency": "KYD", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"offshore_fund_preferred": True, "no_capital_gains_tax": True}}, {"code": "BM", "name_cn": "百慕大", "name_en": "Bermuda", "tier": 1, "region": "Americas", "regulator": "BMA", "aml_framework": "POCA", "fatf_member": False, "crs_participant": True, "fatca_applicable": False, "currency": "BMD", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"insurance_hub": True, "digital_asset_friendly": True}}, {"code": "MT", "name_cn": "马耳他", "name_en": "Malta", "tier": 1, "region": "Europe", "regulator": "MFSA/MDIA", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "EUR", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"blockchain_island": True, "vfa_framework": True}}, {"code": "LI", "name_cn": "列支敦士登", "name_en": "Liechtenstein", "tier": 1, "region": "Europe", "regulator": "FMA", "aml_framework": "TVTG", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "CHF", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"token_act": True, "rwa_progressive": True}}, {"code": "IE", "name_cn": "爱尔兰", "name_en": "Ireland", "tier": 1, "region": "Europe", "regulator": "CBI", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "EUR", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"eu_fund_passporting": True}}, {"code": "NL", "name_cn": "荷兰", "name_en": "Netherlands", "tier": 1, "region": "Europe", "regulator": "AFM/DNB", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "EUR", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "KR", "name_cn": "韩国", "name_en": "South Korea", "tier": 1, "region": "Asia", "regulator": "FSC/FSS", "aml_framework": "AMLCFT", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "KRW", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"virtual_asset_act": True}}, # Tier 2 - 中等成熟监管(25个) {"code": "CN", "name_cn": "中国大陆", "name_en": "China Mainland", "tier": 2, "region": "Asia", "regulator": "CSRC/PBOC/SAFE", "aml_framework": "AML_LAW", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "CNY", "forex_control": True, "max_daily_transfer_usd": 50000, "restricted_asset_classes": ["DA", "FA"], "banned_asset_classes": [], "special_rules": {"safe_reporting_required": True, "crypto_trading_restricted": True, "cross_border_approval_required": True}}, {"code": "TW", "name_cn": "台湾", "name_en": "Taiwan", "tier": 2, "region": "Asia", "regulator": "FSC_TW", "aml_framework": "AMLCFT", "fatf_member": False, "crs_participant": True, "fatca_applicable": False, "currency": "TWD", "forex_control": True, "max_daily_transfer_usd": 5000000, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "IN", "name_cn": "印度", "name_en": "India", "tier": 2, "region": "Asia", "regulator": "SEBI/RBI", "aml_framework": "PMLA", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "INR", "forex_control": True, "max_daily_transfer_usd": 250000, "restricted_asset_classes": ["DA"], "banned_asset_classes": [], "special_rules": {"fema_compliance_required": True}}, {"code": "BR", "name_cn": "巴西", "name_en": "Brazil", "tier": 2, "region": "Americas", "regulator": "CVM/BCB", "aml_framework": "COAF", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "BRL", "forex_control": True, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "SA", "name_cn": "沙特阿拉伯", "name_en": "Saudi Arabia", "tier": 2, "region": "GCC", "regulator": "CMA/SAMA", "aml_framework": "FATF", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "SAR", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"shariah_compliance_optional": True, "vision2030": True}}, {"code": "QA", "name_cn": "卡塔尔", "name_en": "Qatar", "tier": 2, "region": "GCC", "regulator": "QFC/QFMA", "aml_framework": "FATF", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "QAR", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"qfc_framework": True}}, {"code": "MY", "name_cn": "马来西亚", "name_en": "Malaysia", "tier": 2, "region": "ASEAN", "regulator": "SC_MY/BNM", "aml_framework": "AMLATFPUAA", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "MYR", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"islamic_finance_hub": True}}, {"code": "TH", "name_cn": "泰国", "name_en": "Thailand", "tier": 2, "region": "ASEAN", "regulator": "SEC_TH/BOT", "aml_framework": "AMLA_TH", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "THB", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "ZA", "name_cn": "南非", "name_en": "South Africa", "tier": 2, "region": "Africa", "regulator": "FSCA/SARB", "aml_framework": "FIC_ACT", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "ZAR", "forex_control": True, "max_daily_transfer_usd": 1000000, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "MX", "name_cn": "墨西哥", "name_en": "Mexico", "tier": 2, "region": "Americas", "regulator": "CNBV/BANXICO", "aml_framework": "LFPIORPI", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "MXN", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "TR", "name_cn": "土耳其", "name_en": "Turkey", "tier": 2, "region": "Europe", "regulator": "CMB/BDDK", "aml_framework": "MASAK", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "TRY", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "AR", "name_cn": "阿根廷", "name_en": "Argentina", "tier": 2, "region": "Americas", "regulator": "CNV/BCRA", "aml_framework": "UIF", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "ARS", "forex_control": True, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"currency_controls": True}}, {"code": "EG", "name_cn": "埃及", "name_en": "Egypt", "tier": 2, "region": "Africa", "regulator": "FRA/CBE", "aml_framework": "FATF", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "EGP", "forex_control": True, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "PL", "name_cn": "波兰", "name_en": "Poland", "tier": 2, "region": "Europe", "regulator": "KNF", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "PLN", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "SE", "name_cn": "瑞典", "name_en": "Sweden", "tier": 2, "region": "Europe", "regulator": "Finansinspektionen", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "SEK", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "NO", "name_cn": "挪威", "name_en": "Norway", "tier": 2, "region": "Europe", "regulator": "Finanstilsynet", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "NOK", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "DK", "name_cn": "丹麦", "name_en": "Denmark", "tier": 2, "region": "Europe", "regulator": "Finanstilsynet_DK", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "DKK", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "ES", "name_cn": "西班牙", "name_en": "Spain", "tier": 2, "region": "Europe", "regulator": "CNMV/BDE", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "EUR", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "IT", "name_cn": "意大利", "name_en": "Italy", "tier": 2, "region": "Europe", "regulator": "CONSOB/Banca_Italia", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "EUR", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "PT", "name_cn": "葡萄牙", "name_en": "Portugal", "tier": 2, "region": "Europe", "regulator": "CMVM/BdP", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "EUR", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"golden_visa": True, "nhr_tax_regime": True}}, {"code": "GR", "name_cn": "希腊", "name_en": "Greece", "tier": 2, "region": "Europe", "regulator": "HCMC", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "EUR", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "CZ", "name_cn": "捷克", "name_en": "Czech Republic", "tier": 2, "region": "Europe", "regulator": "CNB", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "CZK", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "HU", "name_cn": "匈牙利", "name_en": "Hungary", "tier": 2, "region": "Europe", "regulator": "MNB", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "HUF", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "RO", "name_cn": "罗马尼亚", "name_en": "Romania", "tier": 2, "region": "Europe", "regulator": "ASF/BNR", "aml_framework": "AMLD6", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "RON", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "PH", "name_cn": "菲律宾", "name_en": "Philippines", "tier": 2, "region": "ASEAN", "regulator": "SEC_PH/BSP", "aml_framework": "AMLA_PH", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "PHP", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, # Tier 3 - 新兴市场(15个) {"code": "ID", "name_cn": "印度尼西亚", "name_en": "Indonesia", "tier": 3, "region": "ASEAN", "regulator": "OJK/BI", "aml_framework": "PPATK", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "IDR", "forex_control": True, "max_daily_transfer_usd": None, "restricted_asset_classes": ["DA"], "banned_asset_classes": [], "special_rules": {"crypto_regulated_as_commodity": True}}, {"code": "VN", "name_cn": "越南", "name_en": "Vietnam", "tier": 3, "region": "ASEAN", "regulator": "SSC/SBV", "aml_framework": "AML_VN", "fatf_member": False, "crs_participant": False, "fatca_applicable": False, "currency": "VND", "forex_control": True, "max_daily_transfer_usd": None, "restricted_asset_classes": ["DA", "FA"], "banned_asset_classes": [], "special_rules": {}}, {"code": "NG", "name_cn": "尼日利亚", "name_en": "Nigeria", "tier": 3, "region": "Africa", "regulator": "SEC_NG/CBN", "aml_framework": "EFCC", "fatf_member": False, "crs_participant": False, "fatca_applicable": False, "currency": "NGN", "forex_control": True, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"enhanced_due_diligence": True}}, {"code": "KE", "name_cn": "肯尼亚", "name_en": "Kenya", "tier": 3, "region": "Africa", "regulator": "CMA_KE/CBK", "aml_framework": "POCAMLA", "fatf_member": False, "crs_participant": False, "fatca_applicable": False, "currency": "KES", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "RU", "name_cn": "俄罗斯", "name_en": "Russia", "tier": 3, "region": "Europe", "regulator": "CBR/Rosfinmonitoring", "aml_framework": "FATF", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "RUB", "forex_control": True, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"sanctions_risk": True, "enhanced_due_diligence": True}}, {"code": "PK", "name_cn": "巴基斯坦", "name_en": "Pakistan", "tier": 3, "region": "Asia", "regulator": "SECP/SBP", "aml_framework": "AML_ACT", "fatf_member": True, "crs_participant": False, "fatca_applicable": False, "currency": "PKR", "forex_control": True, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"enhanced_due_diligence": True}}, {"code": "BD", "name_cn": "孟加拉国", "name_en": "Bangladesh", "tier": 3, "region": "Asia", "regulator": "BSEC/BB", "aml_framework": "MLPA", "fatf_member": False, "crs_participant": False, "fatca_applicable": False, "currency": "BDT", "forex_control": True, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "ET", "name_cn": "埃塞俄比亚", "name_en": "Ethiopia", "tier": 3, "region": "Africa", "regulator": "ECSC/NBE", "aml_framework": "AML_ET", "fatf_member": False, "crs_participant": False, "fatca_applicable": False, "currency": "ETB", "forex_control": True, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "GH", "name_cn": "加纳", "name_en": "Ghana", "tier": 3, "region": "Africa", "regulator": "SEC_GH/BOG", "aml_framework": "AMLCFT_GH", "fatf_member": False, "crs_participant": False, "fatca_applicable": False, "currency": "GHS", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "TZ", "name_cn": "坦桑尼亚", "name_en": "Tanzania", "tier": 3, "region": "Africa", "regulator": "CMSA/BOT", "aml_framework": "POCA_TZ", "fatf_member": False, "crs_participant": False, "fatca_applicable": False, "currency": "TZS", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "UZ", "name_cn": "乌兹别克斯坦", "name_en": "Uzbekistan", "tier": 3, "region": "Asia", "regulator": "ARDFM", "aml_framework": "AML_UZ", "fatf_member": False, "crs_participant": False, "fatca_applicable": False, "currency": "UZS", "forex_control": True, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"crypto_friendly": True}}, {"code": "KZ", "name_cn": "哈萨克斯坦", "name_en": "Kazakhstan", "tier": 3, "region": "Asia", "regulator": "AFSA/NBK", "aml_framework": "AML_KZ", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "KZT", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"aifc_framework": True}}, {"code": "AZ", "name_cn": "阿塞拜疆", "name_en": "Azerbaijan", "tier": 3, "region": "Asia", "regulator": "FIMSA/CBA", "aml_framework": "AML_AZ", "fatf_member": False, "crs_participant": False, "fatca_applicable": False, "currency": "AZN", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "UG", "name_cn": "乌干达", "name_en": "Uganda", "tier": 3, "region": "Africa", "regulator": "CMA_UG/BOU", "aml_framework": "AML_UG", "fatf_member": False, "crs_participant": False, "fatca_applicable": False, "currency": "UGX", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, {"code": "MN", "name_cn": "蒙古国", "name_en": "Mongolia", "tier": 3, "region": "Asia", "regulator": "FRC/BOM", "aml_framework": "AML_MN", "fatf_member": False, "crs_participant": False, "fatca_applicable": False, "currency": "MNT", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {}}, # 特殊辖区 {"code": "GLOBAL", "name_cn": "全球通用", "name_en": "Global", "tier": 0, "region": "Global", "regulator": "FATF", "aml_framework": "FATF_40", "fatf_member": True, "crs_participant": True, "fatca_applicable": False, "currency": "USD", "forex_control": False, "max_daily_transfer_usd": None, "restricted_asset_classes": [], "banned_asset_classes": [], "special_rules": {"base_kyc_required": True, "aml_screening_required": True}}, ] for j in jurisdictions: j["created_at"] = datetime.utcnow() j["updated_at"] = datetime.utcnow() j["status"] = "active" result = db.jurisdictions.insert_many(jurisdictions) db.jurisdictions.create_index([("code", ASCENDING)], unique=True) db.jurisdictions.create_index([("tier", ASCENDING)]) db.jurisdictions.create_index([("region", ASCENDING)]) print(f" ✅ 插入 {len(result.inserted_ids)} 个司法辖区") # ============================================================ # 3. 合规规则矩阵(关键辖区×资产类别) # ============================================================ print("\n[3/4] 初始化合规规则矩阵...") db.compliance_rules.drop() # 关键规则:主要辖区 × 主要资产类别 key_rules = [ # 中国 × 不动产 {"jurisdiction": "CN", "asset_class": "RE", "transaction_type": "domestic", "min_kyc_level": 2, "max_single_amount_usd": 10000000, "required_docs": ["title_deed", "property_survey", "valuation_report", "tax_clearance"], "tax_rate": 0.03, "withholding_tax": 0.0, "capital_gains_tax": 0.20, "regulatory_approval_required": False, "notes": "国内不动产交易,需缴纳契税"}, {"jurisdiction": "CN", "asset_class": "RE", "transaction_type": "cross_border_export", "min_kyc_level": 3, "max_single_amount_usd": 50000, "required_docs": ["title_deed", "safe_approval", "tax_clearance", "forex_registration"], "tax_rate": 0.20, "withholding_tax": 0.10, "capital_gains_tax": 0.20, "regulatory_approval_required": True, "notes": "境外投资者购买中国不动产,需SAFE外汇局审批,年度限额5万美元"}, # 美国 × 不动产 {"jurisdiction": "US", "asset_class": "RE", "transaction_type": "domestic", "min_kyc_level": 2, "max_single_amount_usd": None, "required_docs": ["title_insurance", "property_appraisal", "environmental_report"], "tax_rate": 0.0, "withholding_tax": 0.0, "capital_gains_tax": 0.20, "regulatory_approval_required": False, "notes": "美国国内不动产交易"}, {"jurisdiction": "US", "asset_class": "RE", "transaction_type": "cross_border_import", "min_kyc_level": 3, "max_single_amount_usd": None, "required_docs": ["title_insurance", "firpta_certificate", "aml_check", "fatca_form"], "tax_rate": 0.0, "withholding_tax": 0.15, "capital_gains_tax": 0.20, "regulatory_approval_required": False, "notes": "外国人购买美国不动产,FIRPTA预提税15%"}, # 新加坡 × 金融资产 {"jurisdiction": "SG", "asset_class": "FA", "transaction_type": "domestic", "min_kyc_level": 3, "max_single_amount_usd": None, "required_docs": ["mas_license", "prospectus", "cdd_report"], "tax_rate": 0.0, "withholding_tax": 0.0, "capital_gains_tax": 0.0, "regulatory_approval_required": True, "notes": "新加坡无资本利得税,需MAS牌照"}, # 香港 × 艺术品 {"jurisdiction": "HK", "asset_class": "AT", "transaction_type": "domestic", "min_kyc_level": 2, "max_single_amount_usd": None, "required_docs": ["provenance_certificate", "expert_appraisal"], "tax_rate": 0.0, "withholding_tax": 0.0, "capital_gains_tax": 0.0, "regulatory_approval_required": False, "notes": "香港无资本利得税,艺术品交易自由"}, # 全球通用 × 碳信用 {"jurisdiction": "GLOBAL", "asset_class": "CC", "transaction_type": "domestic", "min_kyc_level": 2, "max_single_amount_usd": None, "required_docs": ["verification_report", "registry_certificate"], "tax_rate": 0.0, "withholding_tax": 0.0, "capital_gains_tax": 0.0, "regulatory_approval_required": False, "notes": "碳信用全球通用基础规则"}, # 阿联酋 × 所有资产(RWA友好) {"jurisdiction": "AE", "asset_class": "ALL", "transaction_type": "domestic", "min_kyc_level": 2, "max_single_amount_usd": None, "required_docs": ["uae_id", "source_of_funds"], "tax_rate": 0.0, "withholding_tax": 0.0, "capital_gains_tax": 0.0, "regulatory_approval_required": False, "notes": "阿联酋无个人所得税和资本利得税,RWA友好辖区"}, # 欧盟 × 金融资产 {"jurisdiction": "EU", "asset_class": "FA", "transaction_type": "domestic", "min_kyc_level": 3, "max_single_amount_usd": None, "required_docs": ["mifid2_kyc", "prospectus", "mica_compliance"], "tax_rate": 0.0, "withholding_tax": 0.0, "capital_gains_tax": 0.25, "regulatory_approval_required": True, "notes": "欧盟MiFID2和MiCA监管框架"}, # 中国 × 数字资产(限制) {"jurisdiction": "CN", "asset_class": "DA", "transaction_type": "domestic", "min_kyc_level": 4, "max_single_amount_usd": 0, "required_docs": [], "tax_rate": 0.0, "withholding_tax": 0.0, "capital_gains_tax": 0.0, "regulatory_approval_required": True, "notes": "中国大陆禁止加密货币交易,仅限持牌机构特殊用途"}, ] for rule in key_rules: rule["created_at"] = datetime.utcnow() rule["updated_at"] = datetime.utcnow() rule["status"] = "active" rule["version"] = "1.0" result = db.compliance_rules.insert_many(key_rules) db.compliance_rules.create_index([("jurisdiction", ASCENDING), ("asset_class", ASCENDING), ("transaction_type", ASCENDING)]) print(f" ✅ 插入 {len(result.inserted_ids)} 条合规规则") # ============================================================ # 4. 双边税收协定(关键协定) # ============================================================ print("\n[4/4] 初始化双边税收协定...") db.tax_treaties.drop() tax_treaties = [ {"source": "CN", "target": "HK", "treaty_code": "CN-HK-2006", "reduced_withholding_dividends": 0.05, "reduced_withholding_interest": 0.07, "reduced_withholding_royalties": 0.07, "capital_gains_exempt": False, "effective_date": "2006-12-08", "notes": "中国大陆-香港税收安排"}, {"source": "CN", "target": "SG", "treaty_code": "CN-SG-2007", "reduced_withholding_dividends": 0.05, "reduced_withholding_interest": 0.07, "reduced_withholding_royalties": 0.06, "capital_gains_exempt": False, "effective_date": "2007-01-01", "notes": "中新税收协定"}, {"source": "CN", "target": "AE", "treaty_code": "CN-AE-1993", "reduced_withholding_dividends": 0.0, "reduced_withholding_interest": 0.07, "reduced_withholding_royalties": 0.10, "capital_gains_exempt": True, "effective_date": "1993-01-01", "notes": "中阿税收协定"}, {"source": "US", "target": "GB", "treaty_code": "US-GB-2001", "reduced_withholding_dividends": 0.05, "reduced_withholding_interest": 0.0, "reduced_withholding_royalties": 0.0, "capital_gains_exempt": False, "effective_date": "2003-03-31", "notes": "美英税收协定"}, {"source": "SG", "target": "HK", "treaty_code": "SG-HK-2009", "reduced_withholding_dividends": 0.0, "reduced_withholding_interest": 0.0, "reduced_withholding_royalties": 0.05, "capital_gains_exempt": True, "effective_date": "2010-01-01", "notes": "新港税收协定"}, {"source": "CN", "target": "US", "treaty_code": "NONE", "reduced_withholding_dividends": 0.10, "reduced_withholding_interest": 0.10, "reduced_withholding_royalties": 0.10, "capital_gains_exempt": False, "effective_date": None, "notes": "中美无全面税收协定,适用各自国内税率"}, ] for treaty in tax_treaties: treaty["created_at"] = datetime.utcnow() treaty["updated_at"] = datetime.utcnow() result = db.tax_treaties.insert_many(tax_treaties) db.tax_treaties.create_index([("source", ASCENDING), ("target", ASCENDING)], unique=True) print(f" ✅ 插入 {len(result.inserted_ids)} 条税收协定") # 创建GNACS编码注册表索引 db.gnacs_codes.create_index([("gnacs_code", ASCENDING)], unique=True) db.gnacs_codes.create_index([("asset_id", ASCENDING)]) print("\n" + "=" * 50) print("✅ GNACS数据库初始化完成!") print(f" - 资产大类: {db.asset_classes.count_documents({})} 条") print(f" - 司法辖区: {db.jurisdictions.count_documents({})} 条") print(f" - 合规规则: {db.compliance_rules.count_documents({})} 条") print(f" - 税收协定: {db.tax_treaties.count_documents({})} 条") client.close()