最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Pandas處理時(shí)間序列的操作實(shí)戰(zhàn)指南

 更新時(shí)間:2026年01月28日 09:36:22   作者:pchaoda  
這篇文章主要為大家詳細(xì)介紹了Pandas時(shí)間序列操作在金融數(shù)據(jù)分析中的核心應(yīng)用,重點(diǎn)講解了三大關(guān)鍵工具:時(shí)間索引、重采樣和滾動(dòng)窗口,感興趣的小伙伴可以了解下

問題引入:為什么時(shí)間序列操作是金融數(shù)據(jù)分析的「時(shí)空引擎」?

假設(shè)你已經(jīng)掌握了數(shù)據(jù)獲取和清洗技能,面對(duì)干凈整潔的A股歷史行情數(shù)據(jù),準(zhǔn)備開始深入分析。這時(shí),你可能會(huì)遇到幾個(gè)關(guān)鍵挑戰(zhàn):

  • 時(shí)間尺度轉(zhuǎn)換:日線數(shù)據(jù)波動(dòng)劇烈,如何平滑噪聲,識(shí)別長(zhǎng)期趨勢(shì)?需要將日線轉(zhuǎn)換為周線、月線進(jìn)行分析嗎?
  • 動(dòng)態(tài)指標(biāo)計(jì)算:移動(dòng)平均線、滾動(dòng)波動(dòng)率等技術(shù)指標(biāo)如何計(jì)算?這些指標(biāo)如何幫助判斷市場(chǎng)趨勢(shì)和風(fēng)險(xiǎn)?
  • 時(shí)間依賴性建模:今日股價(jià)受昨日影響有多大?如何量化這種時(shí)間滯后效應(yīng)?動(dòng)量、反轉(zhuǎn)效應(yīng)如何捕捉?
  • 多周期分析:同一只股票在不同時(shí)間尺度(日、周、月)上表現(xiàn)有何差異?哪種時(shí)間尺度最適合你的策略?

根據(jù)《金融時(shí)間序列分析實(shí)務(wù)》統(tǒng)計(jì),超過75%的量化策略依賴時(shí)間序列變換技術(shù)。但傳統(tǒng)分析方法往往面臨兩大痛點(diǎn):

  • 計(jì)算復(fù)雜度高:手工計(jì)算移動(dòng)平均、滾動(dòng)相關(guān)等指標(biāo)需要大量循環(huán)代碼,效率低下且易出錯(cuò)
  • 時(shí)間對(duì)齊困難:金融數(shù)據(jù)存在節(jié)假日、停牌等不規(guī)則間隔,傳統(tǒng)方法難以保持時(shí)間連續(xù)性

核心問題:如何利用Python高效完成金融時(shí)間序列的三大核心操作(重采樣、滾動(dòng)窗口、位移),將原始價(jià)格數(shù)據(jù)轉(zhuǎn)化為有投資指導(dǎo)意義的時(shí)序特征?

知識(shí)鋪墊:Pandas時(shí)間序列三大核心工具全景圖

時(shí)間索引:一切操作的基礎(chǔ)

Pandas的DatetimeIndex是處理時(shí)間序列的「智能日歷」,它不僅是索引,更內(nèi)置了豐富的時(shí)間智能:

特性金融應(yīng)用場(chǎng)景代碼示例
自動(dòng)識(shí)別頻率判斷數(shù)據(jù)是日頻、周頻還是月頻df.index.freq
靈活切片快速提取特定時(shí)間段數(shù)據(jù)df['2024-01':'2024-03']
時(shí)間屬性提取分析季節(jié)性效應(yīng)(如月度效應(yīng))df.index.month
工作日歷支持自動(dòng)跳過周末、節(jié)假日freq='B'(工作日頻率)

關(guān)鍵原則:時(shí)間序列分析前,必須確保數(shù)據(jù)具有正確的DatetimeIndex,否則后續(xù)所有操作都可能出錯(cuò)。

重采樣(Resample):時(shí)間尺度的自由轉(zhuǎn)換

重采樣是改變數(shù)據(jù)時(shí)間粒度的核心方法,金融分析中兩大應(yīng)用場(chǎng)景:

場(chǎng)景目的聚合函數(shù)選擇
降采樣(高頻→低頻)平滑噪聲,識(shí)別長(zhǎng)期趨勢(shì)收盤價(jià):last()
成交量:sum()
最高價(jià):max()
升采樣(低頻→高頻)對(duì)齊不同頻率數(shù)據(jù),填充缺失時(shí)間點(diǎn)前向填充:ffill()
線性插值:interpolate()

常用頻率代碼速查表

  • 'D':日歷日(含周末)
  • 'B':工作日(跳過周末)
  • 'W':周(默認(rèn)周日結(jié)束)
  • 'W-MON':周(周一結(jié)束)
  • 'M':月末
  • 'MS':月初
  • 'Q':季度末

滾動(dòng)窗口(Rolling):動(dòng)態(tài)統(tǒng)計(jì)量的顯微鏡

滾動(dòng)窗口 技術(shù)是計(jì)算動(dòng)態(tài)技術(shù)指標(biāo)的基礎(chǔ),其核心參數(shù):

參數(shù)含義金融應(yīng)用示例
window窗口大小window=20(20日移動(dòng)平均)
min_periods最小有效數(shù)據(jù)量min_periods=10(至少10個(gè)有效數(shù)據(jù))
center窗口居中center=False(默認(rèn)向后看)

常見滾動(dòng)統(tǒng)計(jì)量

  • 移動(dòng)平均:.mean()
  • 滾動(dòng)標(biāo)準(zhǔn)差(波動(dòng)率):.std()
  • 滾動(dòng)最大值/最小值:.max()/.min()
  • 滾動(dòng)相關(guān)系數(shù)/協(xié)方差:.corr()/.cov()

位移操作(Shift):時(shí)間滯后特征的構(gòu)建器

位移操作用于創(chuàng)建時(shí)間滯后特征,是量化時(shí)間依賴性的關(guān)鍵:

位移方向代碼金融含義
向后位移shift(1)前一日數(shù)據(jù)
向前位移shift(-1)后一日數(shù)據(jù)
多期位移shift(20)20日前數(shù)據(jù)

衍生指標(biāo)

  • 收益率:pct_change() = (當(dāng)前值 - 前一期值) / 前一期值
  • 動(dòng)量指標(biāo):當(dāng)前價(jià)格 / N日前價(jià)格 - 1
  • 價(jià)格突破:當(dāng)前價(jià)格 > 過去N日最高價(jià)

代碼實(shí)戰(zhàn):三大核心操作的金融應(yīng)用演練

環(huán)境準(zhǔn)備與數(shù)據(jù)獲取

首先確保在quant_env虛擬環(huán)境中運(yùn)行,并配置好Tushare Token:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import tushare as ts
from datetime import datetime, timedelta

# 設(shè)置中文字體
plt.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False

# 初始化Tushare
ts.set_token('你的Token')  # 需替換為實(shí)際Token
pro = ts.pro_api()

獲取最近6個(gè)月的A股歷史行情數(shù)據(jù),以貴州茅臺(tái)(600519.SH)和寧德時(shí)代(300750.SZ)為例:

def fetch_stock_data(ts_code, start_date, end_date):
    """獲取單只股票日線行情數(shù)據(jù)"""
    df = pro.daily(ts_code=ts_code, start_date=start_date, end_date=end_date)
    
    # 數(shù)據(jù)預(yù)處理
    df['trade_date'] = pd.to_datetime(df['trade_date'])
    df = df.sort_values('trade_date').reset_index(drop=True)
    df.set_index('trade_date', inplace=True)
    
    # 重命名列
    df.columns = ['股票代碼', '開盤價(jià)', '最高價(jià)', '最低價(jià)', '收盤價(jià)', '昨收價(jià)', '漲跌額','漲跌幅', '成交量(手)', '成交額(千元)']
    
    # 保留關(guān)鍵字段
    return df[['開盤價(jià)', '最高價(jià)', '最低價(jià)', '收盤價(jià)', '成交量(手)', '成交額(千元)']]

# 設(shè)置時(shí)間范圍
end_date = datetime.now().strftime('%Y%m%d')
start_date = (datetime.now() - timedelta(days=180)).strftime('%Y%m%d')

# 獲取數(shù)據(jù)
maotai_df = fetch_stock_data('600519.SH', start_date, end_date)
ningde_df = fetch_stock_data('300750.SZ', start_date, end_date)

實(shí)戰(zhàn)1:重采樣 - 從日線到周線/月線

場(chǎng)景:投資者關(guān)注中長(zhǎng)期趨勢(shì),需要將日線數(shù)據(jù)轉(zhuǎn)換為周線、月線進(jìn)行分析:

# 日線轉(zhuǎn)周線:計(jì)算每周最后一個(gè)交易日的收盤價(jià)
maotai_weekly = maotai_df['收盤價(jià)'].resample('W').last()
maotai_weekly_volume = maotai_df['成交量(手)'].resample('W').sum()

print("貴州茅臺(tái)周線數(shù)據(jù)(示例):")
weekly_summary = pd.DataFrame({
    '周收盤價(jià)': maotai_weekly.tail(),
    '周成交量(手)': maotai_weekly_volume.tail()
})
print(weekly_summary)

# 日線轉(zhuǎn)月線:計(jì)算每月統(tǒng)計(jì)指標(biāo)
maotai_monthly = maotai_df.resample('M').agg({
    '收盤價(jià)': 'last',    # 月收盤價(jià)
    '最高價(jià)': 'max',     # 月最高價(jià)
    '最低價(jià)': 'min',     # 月最低價(jià)
    '成交量(手)': 'sum'  # 月總成交量
})
maotai_monthly.columns = ['月收盤價(jià)', '月最高價(jià)', '月最低價(jià)', '月成交量']

print("\n貴州茅臺(tái)月線數(shù)據(jù):")
print(maotai_monthly)

# 計(jì)算周收益率
maotai_weekly_return = maotai_weekly.pct_change() * 100
print("\n貴州茅臺(tái)周收益率(最近5周):")
print(maotai_weekly_return.tail())

輸出示例

貴州茅臺(tái)周線數(shù)據(jù)(示例):
            周收盤價(jià)  周成交量(手)
2024-12-02   1825.0   1250000
2024-12-09   1800.5   1180000

貴州茅臺(tái)月線數(shù)據(jù):
            月收盤價(jià)  月最高價(jià)  月最低價(jià)  月成交量
2024-11-30   1820.0   1850.0   1750.0   50000000
2024-12-31   1805.0   1830.0   1780.0   48000000

實(shí)戰(zhàn)2:滾動(dòng)窗口 - 動(dòng)態(tài)技術(shù)指標(biāo)計(jì)算

場(chǎng)景:計(jì)算移動(dòng)平均線、滾動(dòng)波動(dòng)率等動(dòng)態(tài)指標(biāo),用于趨勢(shì)判斷和風(fēng)險(xiǎn)管理:

# 計(jì)算移動(dòng)平均線
maotai_df['MA5'] = maotai_df['收盤價(jià)'].rolling(window=5).mean()
maotai_df['MA20'] = maotai_df['收盤價(jià)'].rolling(window=20).mean()
maotai_df['MA60'] = maotai_df['收盤價(jià)'].rolling(window=60).mean()

print("移動(dòng)平均線計(jì)算結(jié)果(示例):")
print(maotai_df[['收盤價(jià)', 'MA5', 'MA20', 'MA60']].tail(10))

# 計(jì)算滾動(dòng)波動(dòng)率(20日滾動(dòng)標(biāo)準(zhǔn)差)
maotai_df['Volatility_20d'] = maotai_df['收盤價(jià)'].rolling(window=20).std()
print("\n20日滾動(dòng)波動(dòng)率(示例):")
print(maotai_df[['收盤價(jià)', 'Volatility_20d']].tail(10))

# 滾動(dòng)相關(guān)性:計(jì)算兩只股票的滾動(dòng)相關(guān)系數(shù)
combined_df = pd.DataFrame({
    '茅臺(tái)收盤價(jià)': maotai_df['收盤價(jià)'],
    '寧德收盤價(jià)': ningde_df['收盤價(jià)']
})
combined_df['Rolling_Corr_20d'] = combined_df['茅臺(tái)收盤價(jià)'].rolling(window=20).corr(combined_df['寧德收盤價(jià)'])

print("\n滾動(dòng)相關(guān)系數(shù)(示例):")
print(combined_df[['茅臺(tái)收盤價(jià)', '寧德收盤價(jià)', 'Rolling_Corr_20d']].tail(10))

技術(shù)要點(diǎn)

  • rolling(window=20)創(chuàng)建20個(gè)交易日的滾動(dòng)窗口
  • .mean()計(jì)算窗口內(nèi)數(shù)據(jù)的平均值(移動(dòng)平均)
  • .std()計(jì)算窗口內(nèi)數(shù)據(jù)的標(biāo)準(zhǔn)差(波動(dòng)率)
  • .corr()計(jì)算兩個(gè)序列在窗口內(nèi)的相關(guān)系數(shù)

實(shí)戰(zhàn)3:位移操作 - 時(shí)間滯后特征構(gòu)建

場(chǎng)景:創(chuàng)建收益率、動(dòng)量等時(shí)間滯后特征,用于量化時(shí)間依賴性:

# 計(jì)算日收益率(今日收盤價(jià)相對(duì)于昨日收盤價(jià)的變化)
maotai_df['日收益率'] = maotai_df['收盤價(jià)'].pct_change() * 100

# 創(chuàng)建滯后特征
maotai_df['昨日收盤價(jià)'] = maotai_df['收盤價(jià)'].shift(1)
maotai_df['5日前收盤價(jià)'] = maotai_df['收盤價(jià)'].shift(5)
maotai_df['20日前收盤價(jià)'] = maotai_df['收盤價(jià)'].shift(20)

# 計(jì)算相對(duì)變化
maotai_df['相對(duì)5日前漲跌幅'] = (maotai_df['收盤價(jià)'] / maotai_df['5日前收盤價(jià)'] - 1) * 100
maotai_df['相對(duì)20日前漲跌幅'] = (maotai_df['收盤價(jià)'] / maotai_df['20日前收盤價(jià)'] - 1) * 100

print("位移操作結(jié)果(示例):")
display_cols = ['收盤價(jià)', '昨日收盤價(jià)', '5日前收盤價(jià)', '日收益率', '相對(duì)5日前漲跌幅']
print(maotai_df[display_cols].tail())

衍生指標(biāo)的經(jīng)濟(jì)含義

  • 日收益率:當(dāng)日投資回報(bào)率,反映短期價(jià)格變動(dòng)
  • 相對(duì)N日前漲跌幅:N日動(dòng)量指標(biāo),用于捕捉趨勢(shì)持續(xù)性
  • 價(jià)格突破信號(hào)當(dāng)前價(jià)格 > 過去N日最高價(jià),用于識(shí)別突破行情

結(jié)果解讀:從時(shí)序特征到投資洞察

重采樣結(jié)果的經(jīng)濟(jì)含義

通過對(duì)貴州茅臺(tái)日線數(shù)據(jù)進(jìn)行周線、月線轉(zhuǎn)換,我們發(fā)現(xiàn):

時(shí)間尺度效應(yīng)

  • 日線波動(dòng)劇烈,噪音較多,適合短線交易者
  • 周線平滑了日間波動(dòng),趨勢(shì)更清晰,適合中線投資者
  • 月線反映長(zhǎng)期趨勢(shì),適合價(jià)值投資者和機(jī)構(gòu)資金

成交量規(guī)律

  • 周成交量呈現(xiàn)明顯的周期性,通常在月末、季末放大
  • 月成交量與價(jià)格趨勢(shì)正相關(guān),驗(yàn)證了「價(jià)量齊升」的市場(chǎng)規(guī)律

收益率特征

  • 周收益率分布較日收益率更接近正態(tài)分布
  • 極端周收益率(>±5%)出現(xiàn)頻率明顯低于極端日收益率

滾動(dòng)窗口指標(biāo)的實(shí)戰(zhàn)價(jià)值

移動(dòng)平均線和滾動(dòng)波動(dòng)率在投資決策中有多重應(yīng)用:

趨勢(shì)判斷

  • 當(dāng)收盤價(jià) > MA20MA5 > MA20,形成多頭排列,提示上漲趨勢(shì)
  • 當(dāng)收盤價(jià) < MA20MA5 < MA20,形成空頭排列,提示下跌趨勢(shì)

風(fēng)險(xiǎn)監(jiān)控

  • 滾動(dòng)波動(dòng)率突破歷史均值+2σ,提示市場(chǎng)風(fēng)險(xiǎn)加劇
  • 波動(dòng)率持續(xù)上升伴隨價(jià)格下跌,可能形成「恐慌性拋售」

資產(chǎn)配置

  • 滾動(dòng)相關(guān)系數(shù)接近+1,表明資產(chǎn)高度聯(lián)動(dòng),分散化效果有限
  • 相關(guān)系數(shù)在0附近波動(dòng),表明資產(chǎn)獨(dú)立性較強(qiáng),適合構(gòu)建多元組合

位移特征的投資啟示

時(shí)間滯后特征為量化策略提供了豐富的信號(hào)來(lái)源:

動(dòng)量效應(yīng)驗(yàn)證

  • 相對(duì)20日前漲跌幅持續(xù)為正,表明存在正向動(dòng)量
  • 動(dòng)量指標(biāo)與未來(lái)收益率的相關(guān)性分析,可用于策略優(yōu)化

反轉(zhuǎn)信號(hào)捕捉

  • 短期大幅上漲(如日收益率 > 5%)后,常伴隨短期回調(diào)
  • 極值位移特征可作為均值回歸策略的觸發(fā)條件

特征工程基礎(chǔ)

  • 位移操作是構(gòu)建更復(fù)雜技術(shù)指標(biāo)(如MACD、RSI)的基礎(chǔ)
  • 多層位移特征組合,可捕捉不同時(shí)間尺度的市場(chǎng)規(guī)律

拓展思考:時(shí)間序列分析的進(jìn)階挑戰(zhàn)

高頻數(shù)據(jù)處理的特殊挑戰(zhàn)

當(dāng)日線數(shù)據(jù)升級(jí)為分鐘級(jí)、秒級(jí)高頻數(shù)據(jù)時(shí),傳統(tǒng)方法面臨新挑戰(zhàn):

挑戰(zhàn)解決方案代碼實(shí)現(xiàn)思路
數(shù)據(jù)量爆炸分塊處理、分布式計(jì)算使用dask.dataframe替代pandas
非等間隔精確時(shí)間對(duì)齊pd.merge_asof()近似匹配
微觀結(jié)構(gòu)噪聲濾波與降噪滾動(dòng)中位數(shù)、小波變換

多周期分析的策略價(jià)值

不同時(shí)間尺度蘊(yùn)含不同投資邏輯,如何有效整合:

多周期共振

  • 當(dāng)日線、周線、月線均發(fā)出買入信號(hào),勝率顯著提升
  • 多周期趨勢(shì)一致性是強(qiáng)趨勢(shì)行情的重要特征

周期背離預(yù)警

  • 短期指標(biāo)向上但長(zhǎng)期指標(biāo)向下,提示反彈可能結(jié)束
  • 背離信號(hào)是趨勢(shì)反轉(zhuǎn)的早期預(yù)警指標(biāo)

機(jī)器學(xué)習(xí)中的時(shí)序特征工程

將時(shí)間序列特征融入機(jī)器學(xué)習(xí)模型的關(guān)鍵技術(shù):

特征構(gòu)造

  • 滾動(dòng)統(tǒng)計(jì)量(均值、標(biāo)準(zhǔn)差、偏度、峰度)
  • 位移比率(N日收益率、動(dòng)量、加速度)
  • 時(shí)間序列分解(趨勢(shì)、周期、殘差)

序列建模

  • RNN/LSTM直接處理原始序列數(shù)據(jù)
  • 注意力機(jī)制捕捉長(zhǎng)期依賴關(guān)系
  • Transformer模型處理超長(zhǎng)序列

實(shí)戰(zhàn)練習(xí)題

練習(xí)1:計(jì)算寧德時(shí)代的20日移動(dòng)平均線

  • 目標(biāo):掌握rolling()方法的基本應(yīng)用
  • 提示:使用ningde_df['收盤價(jià)'].rolling(window=20).mean()
  • 驗(yàn)證:計(jì)算后打印前5個(gè)值,觀察移動(dòng)平均線如何平滑價(jià)格波動(dòng)

練習(xí)2:將茅臺(tái)日線數(shù)據(jù)轉(zhuǎn)換為10日頻率

  • 目標(biāo):掌握自定義頻率的重采樣
  • 提示:使用resample('10B'),聚合函數(shù)選擇收盤價(jià)取最后值,成交量求和
  • 思考:10日頻率數(shù)據(jù)相比日線數(shù)據(jù),在趨勢(shì)識(shí)別上有何優(yōu)勢(shì)?

練習(xí)3:計(jì)算茅臺(tái)收盤價(jià)的5日滾動(dòng)最大回撤

  • 目標(biāo):掌握自定義滾動(dòng)函數(shù)
  • 提示:回撤計(jì)算公式:(當(dāng)前價(jià)格 - 窗口內(nèi)最高價(jià)) / 窗口內(nèi)最高價(jià)
  • 應(yīng)用:最大回撤是衡量策略風(fēng)險(xiǎn)的關(guān)鍵指標(biāo)

練習(xí)4:創(chuàng)建茅臺(tái)收盤價(jià)的動(dòng)量指標(biāo)

  • 目標(biāo):掌握shift()與簡(jiǎn)單運(yùn)算的組合
  • 提示:動(dòng)量 = (今日收盤價(jià) / 20日前收盤價(jià) - 1) * 100
  • 分析:計(jì)算動(dòng)量指標(biāo)與未來(lái)5日收益率的相關(guān)性

練習(xí)5:計(jì)算兩只股票的60日滾動(dòng)協(xié)方差

  • 目標(biāo):掌握多序列滾動(dòng)協(xié)方差計(jì)算
  • 提示:使用.rolling(window=60).cov()方法
  • 意義:協(xié)方差是計(jì)算組合風(fēng)險(xiǎn)(方差)的基礎(chǔ)

總結(jié)

今日掌握的核心技能

  • 重采樣(resample):時(shí)間粒度自由轉(zhuǎn)換,從日線到周線/月線
  • 滾動(dòng)窗口(rolling):動(dòng)態(tài)統(tǒng)計(jì)量計(jì)算,移動(dòng)平均、波動(dòng)率、相關(guān)性
  • 位移操作(shift):時(shí)間滯后特征構(gòu)建,收益率、動(dòng)量指標(biāo)

關(guān)鍵應(yīng)用場(chǎng)景

  • 中長(zhǎng)期趨勢(shì)分析(周線、月線轉(zhuǎn)換)
  • 動(dòng)態(tài)技術(shù)指標(biāo)計(jì)算(MA、波動(dòng)率)
  • 時(shí)間依賴性建模(收益率、動(dòng)量)
  • 多資產(chǎn)相關(guān)性分析(滾動(dòng)相關(guān)系數(shù))

進(jìn)階學(xué)習(xí)方向

  • 高頻數(shù)據(jù)處理:分鐘級(jí)、秒級(jí)數(shù)據(jù)的特殊處理方法
  • 多周期模型:整合不同時(shí)間尺度的投資邏輯
  • 機(jī)器學(xué)習(xí)集成:時(shí)序特征在預(yù)測(cè)模型中的應(yīng)用

行動(dòng)建議

  • 運(yùn)行完整代碼:確保所有時(shí)間序列操作都能正確執(zhí)行
  • 完成練習(xí)題:通過實(shí)踐鞏固三大核心操作
  • 探索新數(shù)據(jù):嘗試對(duì)其他A股應(yīng)用相同的時(shí)間序列分析方法

以上就是Pandas處理時(shí)間序列的操作實(shí)戰(zhàn)指南的詳細(xì)內(nèi)容,更多關(guān)于Pandas處理時(shí)間序列的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

广宁县| 聂荣县| 霍林郭勒市| 乐安县| 永济市| 牙克石市| 英德市| 石泉县| 石城县| 栖霞市| 安溪县| 紫金县| 威远县| 嘉鱼县| 绍兴县| 商河县| 滕州市| 武平县| 客服| 九龙城区| 侯马市| 台东县| 行唐县| 申扎县| 象州县| 平遥县| 钦州市| 新昌县| 英德市| 馆陶县| 平远县| 彝良县| 苍南县| 攀枝花市| 丹阳市| 金昌市| 怀仁县| 绥芬河市| 佛山市| 囊谦县| 吉隆县|