版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
模塊十股票數(shù)據(jù)分析與股價趨勢預測Python數(shù)據(jù)分析與可視化典型項目實戰(zhàn)(微課版)【任務描述】常用的預測模型有以下幾種。(1)自回歸模型自回歸模型(AutoregressiveModel,簡稱AR模型)用于描述當前值與歷史值之間的關系,使用變量自身的歷史數(shù)據(jù)對自身進行預測。AR模型首先需要確定一個階數(shù)p,表示使用幾期的歷史值來預測當前值。AR模型有以下限制條件。①AR模型是用自身的數(shù)據(jù)進行預測的。②時間序列數(shù)據(jù)必須具有平穩(wěn)性。③AR模型只適用于預測與自身歷史相關的現(xiàn)象。(2)移動平均模型移動平均模型(MovingAverageModel,簡稱MA模型)關注的是AR模型中誤差項的累加,能有效地消除預測中的隨機波動。【任務10-1】使用2年的股票數(shù)據(jù)建立ARIMA模型并使
用該模型預測股價趨勢【任務描述】(3)自回歸移動平均模型AR模型和MA模型相結合,就得到了自回歸移動平均模型(AutoregressiveMovingAverageModel,簡稱ARMA模型)。(4)差分自回歸移動平均模型將AR模型、MA模型和差分法結合就得到了差分自回歸移動平均模型(AutoregressiveIntegratedMovingAverageModel,簡稱ARIMA模型)。Excel文件“stock-2.xlsx”為“五糧液股票”2020和2021年相關數(shù)據(jù),包括以下10列有效數(shù)據(jù):date(日期)、code(股票代碼)、open(開盤價)、high(最高價)、low(最低價)、close(收盤價)、preclose(上一收盤價,指上一個交易日收盤價)、volume(成交量)、amount(成交額)、turn(換手率)。使用2年的股票數(shù)據(jù)建立ARIMA模型并使用該模型預測股價趨勢?!救蝿諏崿F(xiàn)】在JupyterNotebook開發(fā)環(huán)境中創(chuàng)建tc10-01.ipynb,然后在單元格中編寫代碼并輸出對應的結果?!救蝿?0-1】使用2年的股票數(shù)據(jù)建立ARIMA模型并使
用該模型預測股價趨勢使用2年的股票數(shù)據(jù)建立ARIMA模型并使用該模型預測股價趨勢1.導入模塊fromstatsmodels.tsa.arima_modelimportARIMAfromstatsmodels.graphics.tsaplotsimportplot_acf,plot_pacffromwarningsimportfilterwarningsfilterwarnings('ignore')2.讀取數(shù)據(jù)path=r".\data\stock-2.xlsx"#默認讀取Excel文件的第一個工作表data=pd.read_excel(path,index_col='date',parse_dates=['date'])使用2年的股票數(shù)據(jù)建立ARIMA模型并使用該模型預測股價趨勢3.數(shù)據(jù)預處理stock=datastock=stock.drop(columns="Unnamed:0")sub=stock['2021-01':'2021-12']['close']train=sub.loc['2021-01':'2021-06']test=sub.loc['2021-07':'2021-12']4.繪制股票收盤價訓練數(shù)據(jù)集的折線圖plt.figure(figsize=(8,6))plt.plot(train)plt.show()5.時間序列差分處理后繪制折線圖stock['close_diff_1']=stock['close'].diff(1)stock['close_diff_2']=stock['close_diff_1'].diff(1)fig=plt.figure(figsize=(20,6))ax1=fig.add_subplot(131)ax1.plot(stock['close'])ax2=fig.add_subplot(132)ax2.plot(stock['close_diff_1'])ax3=fig.add_subplot(133)ax3.plot(stock['close_diff_2'])plt.show()時間序列的平穩(wěn)性要求經(jīng)由樣本時間序列所得到的擬合曲線在未來一段時間內(nèi)仍能順著現(xiàn)有的形態(tài)慣性地延續(xù)下去,要求序列的均值和方差不發(fā)生明顯變化。使用差分法可以使數(shù)據(jù)更平穩(wěn),常用的方法就是一階差分法和二階差分法。使用2年的股票數(shù)據(jù)建立ARIMA模型并使用該模型預測股價趨勢5.時間序列差分處理后繪制折線圖圖10-2時間序列差分處理前后的折線圖使用2年的股票數(shù)據(jù)建立ARIMA模型并使用該模型預測股價趨勢6.建立ARIMA模型模型識別和定階模型的識別和定階,要確定p、d、q這3個參數(shù),其中p為自回歸模型AR的階數(shù)、d為差分次數(shù)(階數(shù))、q為滑動平均項數(shù)。差分的階數(shù)d一般為1階或2階即可。(AutocorrelationFunction,ACF)描述的是時間序列觀測值與其歷史觀測值之間的線性相關性,計算公式如下:自相關函數(shù)偏自相關函數(shù)(PartialAutocorrelationFunction,PACF)描述的是在給定中間觀測值的條件下,時間序列觀測值與其歷史觀測值之間的線性相關性。偏自相關函數(shù)使用2年的股票數(shù)據(jù)建立ARIMA模型并使用該模型預測股價趨勢參數(shù)估計拖尾指序列以指數(shù)率單調(diào)遞減或震蕩衰減,而截尾指序列從某個時點變得非常小。根據(jù)不同的截尾和拖尾的情況,我們可以選擇AR模型,也可以選擇MA模型,當然還可以選擇ARIMA模型。使用2年的股票數(shù)據(jù)建立ARIMA模型并使用該模型預測股價趨勢acf=plot_acf(train,lags=20)plt.title('股票指數(shù)的ACF')plt.show()接下來看一下PACF。pacf=plot_pacf(train,lags=20)plt.title('股票指數(shù)的PACF')plt.show()接下來,我們就來繪制圖形,分析拖尾和截尾情況。模型檢驗模型檢驗主要有兩個:檢驗參數(shù)估計的顯著性(t檢驗)、檢驗殘差序列的隨機性。殘差序列的隨機性可以通過自相關函數(shù)法來檢驗,即繪制殘差的自相關函數(shù)圖。使用2年的股票數(shù)據(jù)建立ARIMA模型并使用該模型預測股價趨勢model=ARIMA(train,order=(1,0,0))results=model.fit()resid=results.resid#賦值fig=plt.figure(figsize=(12,8))fig=plot_acf(resid.values.squeeze(),lags=40)plt.title('殘差的自相關函數(shù)圖')plt.show()從圖10-5可以看出,幾乎95%的自相關系數(shù)都落在2倍標準差范圍以內(nèi),這就說明模型通過了ACF的檢驗。模型預測模型預測主要有兩個函數(shù),一個是predict()函數(shù),另一個是forecast()函數(shù)。predict()預測的時間段的值必須在訓練ARIMA模型的數(shù)據(jù)中,forecast()則是對訓練數(shù)據(jù)集末尾下一個時間段的值進行預估。使用2年的股票數(shù)據(jù)建立ARIMA模型并使用該模型預測股價趨勢model=ARIMA(sub,order=(1,0,0))results=model.fit()predict_sunspots=results.predict(start=pd.to_datetime('2021-01-04'),end=pd.to_datetime('2021-12-29'),dynamic=False,type='levels')print(predict_sunspots)fig,ax=plt.subplots(figsize=(12,8))ax=sub.plot(ax=ax)predict_sunspots.plot(ax=ax)plt.show()模型預測使用2年的股票數(shù)據(jù)建立ARIMA模型并使用該模型預測股價趨勢圖10-6ARIMA模型預測的趨勢圖預估下一個時間段的值的代碼如下:results.forecast()[0]輸出結果:array([223.4214934])【任務描述】數(shù)據(jù)源為Excel文件“stock-2.xlsx”,該文件為“五糧液股票”2020和2021年相關數(shù)據(jù),包括以下10列有效數(shù)據(jù):date(日期)、code(股票代碼)、open(開盤價)、high(最高價)、low(最低價)、close(收盤價)、preclose(上一收盤價)、volume(成交量)、amount(成交額)、turn(換手率)。針對該數(shù)據(jù)集完成以下數(shù)據(jù)可視化分析操作。繪制股票每日收盤價的趨勢圖。繪制股票最高價和最低價中值的月度趨勢圖。繪制股票開盤價與收盤價中值的月度趨勢圖。繪制股票收盤價均值的周趨勢圖。繪制股票數(shù)據(jù)集各列數(shù)據(jù)的直方圖。繪制股票局部區(qū)間收盤價均值的周趨勢圖。繪制股票收盤價經(jīng)一階差分后的周趨勢圖?!救蝿?0-2】繪制股票數(shù)據(jù)的各種圖形【任務描述】繪制股票指數(shù)的ACF(AutocorrelationFunction,自相關函數(shù))系數(shù)時序圖和PACF(PeriodicAutocorrelationFunction,周期自相關函數(shù))系數(shù)時序圖。使用ARMA模型對股票數(shù)據(jù)進行擬合,繪制ARIMA模型預測的周收盤價均值趨勢圖。繪制股票數(shù)據(jù)的OHLC圖(O代表開盤價、H代表最高價、L代表最低價、C代表收盤價)。通過K線圖繪制OHLC圖?!救蝿諏崿F(xiàn)】在JupyterNotebook開發(fā)環(huán)境中創(chuàng)建tc10-02.ipynb,然后在單元格中編寫代碼并輸出對應的結果。【任務10-2】繪制股票數(shù)據(jù)的各種圖形2.讀取數(shù)據(jù)繪制股票數(shù)據(jù)的各種圖形1.導入模塊importmatplotlibpath=r".\data\stock-2.xlsx"#默認讀取Excel文件的第一個工作表df_stock=pd.read_excel(path)3.數(shù)據(jù)預處理df_stock數(shù)據(jù)集的行索引默認值為從0開始的遞增數(shù)值,一般股票數(shù)據(jù)應該按照日期進行分析,所以需要將行索引改為“date”列的數(shù)據(jù)。df_stock['date']=pd.to_datetime(df_stock.date,format='%Y-%m-%d')#df_stock['date']=pd.to_datetime(df_stock['date'],format='%Y-%m-%d')df_stock=df_stock.drop(columns="Unnamed:0")df_stock.set_index('date',inplace=True)#inplace表示是否對數(shù)據(jù)進行永久改變df_stock.head()4.查看數(shù)據(jù)集的數(shù)據(jù)特征df_stock.isnull().any(axis=1)查看數(shù)據(jù)集中各列數(shù)據(jù)的數(shù)據(jù)類型的代碼如下:df_stock.dtypes查看數(shù)據(jù)集中是否存在空值的代碼如下:使用pyplot子模塊的plot()函數(shù)繪制股票每日收盤價的趨勢圖plt.figure(figsize=(8,6))plt.plot(df_stock['close'])plt.title('股票每日收盤價')plt.show()繪制股票數(shù)據(jù)的各種圖形5.繪制股票每日收盤價的趨勢圖使用DataFrame對象的plot()方法繪制股票每日收盤價趨勢圖df_stock['close'].plot(kind='line',figsize=(8,6))plt.title('股票每日收盤價')plt.show()繪制股票數(shù)據(jù)的各種圖形6.繪制股票最高價和最低價中值的月度趨勢圖df_stock.resample('M').median()[['high','low']].plot(kind='line',figsize=(8,6))plt.title('股票最高價與最低價的月中值')plt.show()將采樣的頻率由天改為月,然后繪制采樣頻率為月的股票最高價和最低價中值趨勢圖。繪制股票數(shù)據(jù)的各種圖形7.繪制股票開盤價與收盤價中值的月度趨勢圖df_stock.resample('M').median()[['open','close']].plot(kind='line',figsize=(8,6))plt.title('股票開盤價與收盤價的月中值')plt.show()將采樣的頻率由天改為月,然后繪制采樣頻率為月的股票開盤價與收盤價中值趨勢圖。繪制股票數(shù)據(jù)的各種圖形8.繪制股票收盤價均值的周趨勢圖stock_week=df_stock['close'].resample('W-MON').mean()stock_week.plot(kind='line',figsize=(8,6))plt.title('股票周收盤價均值')plt.show()使用DataFrame對象的plot()方法繪制股票收盤價均值的周趨勢圖繪制股票數(shù)據(jù)的各種圖形plt.figure(figsize=(8,6))plt.plot(stock_week)plt.title('股票周收盤價均值')plt.show()使用pyplot子模塊的plot()函數(shù)繪制股票收盤價均值的周趨勢圖繪制股票數(shù)據(jù)的各種圖形圖10-11使用DataFrame對象的plot()方法繪制的股票收盤價均值周趨勢圖圖10-12使用pyplot子模塊的plot()函數(shù)繪制的股票收盤價均值的周趨勢圖9.繪制股票數(shù)據(jù)集各列數(shù)據(jù)的直方圖df_stock.hist(figsize=(8,8))繪制股票數(shù)據(jù)的各種圖形掃描二維碼在線瀏覽電子活頁10-1查看繪制好的股票數(shù)據(jù)集各列數(shù)據(jù)的直方圖。10.繪制股票局部區(qū)間收盤價均值的周趨勢圖以2020和2021年局部的股票數(shù)據(jù)作為ARIMA模型中的訓練數(shù)據(jù)。stock_train=stock_week['2020':'2021']stock_train[np.isnan(stock_train)]=0stock_train[np.isinf(stock_train)]=0stock_train.plot(figsize=(8,6))plt.legend(bbox_to_anchor=(1.0,0.5))plt.title("股票周收盤價均值")plt.show()11.繪制股票收盤價經(jīng)一階差分處理后的周趨勢圖對于非平穩(wěn)序列,需要通過差分算法,將非平穩(wěn)序列變成弱平穩(wěn)或者近似平穩(wěn)序列,代碼如下:繪制經(jīng)一階差分處理后的收盤價均值周趨勢圖plt.figure(figsize=(8,6))plt.plot(stock_diff)plt.title('一階差分')plt.show()對ARIMA模型中的訓練數(shù)據(jù)進行一階差分處理繪制股票數(shù)據(jù)的各種圖形stock_diff=stock_train.diff()stock_diff=stock_diff.dropna()12.繪制股票指數(shù)的ACF系數(shù)時序圖和PACF系數(shù)時序圖使用時序圖展示一階差分處理后股票指數(shù)的ACF系數(shù)和PACF系數(shù)。繪制股票數(shù)據(jù)的各種圖形fromstatsmodels.tsa.arima_modelimportARIMAfromstatsmodels.graphics.tsaplotsimportplot_acf,plot_pacffig=plt.figure(figsize=(8,6))ax1=fig.add_subplot(211)ax2=fig.add_subplot(212)acf=plot_acf(stock_diff,lags=20,ax=ax1,title="股票指數(shù)的ACF系數(shù)")pacf=plot_pacf(stock_diff,lags=20,ax=ax2,title="股票指數(shù)的PACF系數(shù)")plt.show()13.繪制ARIMA模型預測的周收盤價均值趨勢圖#設定p=1,q=1,使用ARMA模型進行數(shù)據(jù)擬合fromstatsmodels.tsa.arima_modelimportARMAmodel=ARMA(stock_train,order=(1,1,1),freq='W-MON')result_arma=model.fit()繪制ARIMA模型預測的周收盤價均值趨勢圖pred_vals=result_arma.predict('2020-06-01','2022-12-31',dynamic=False)plt.figure(figsize=(8,6))plt.xticks(rotation=45)plt.plot(pred_vals)plt.show()創(chuàng)建ARIMA模型并使用ARMA模型對股票數(shù)據(jù)進行擬合繪制股票數(shù)據(jù)的各種圖形14.繪制股票數(shù)據(jù)的OHLC圖繪制股票數(shù)據(jù)的各種圖形掃描二維碼在線瀏覽電子活頁10-2“繪制股票數(shù)據(jù)的OHLC圖”中的代碼及繪制的圖形。15.通過K線圖繪制OHLC圖通過K線圖繪制OHLC圖時需要導入一個包mpl_finance,并使用該包中的函數(shù)candlestick_ohlc()進行繪制。importmatplotlib.datesasdatesimportmpl_financeasmf#設置尺寸plt.rcParams['figure.figsize']=(18,6)#抽取開盤價、最高價、最低價、收盤價數(shù)據(jù)new_df=df_stock.loc[:,['open','high','low','close']]new_df=new_df.iloc[:100]繪制股票數(shù)據(jù)的各種圖形#轉換時間數(shù)據(jù)為可迭代類型zip_data=zip(dates.date2num(new_df.index.to_pydatetime()),new_df.open,new_df.high,new_df.low,new_df.close)#直接生成畫布ax=plt.gca()#繪制K線圖plt.title('通過K線圖繪制的股票O(jiān)HLC圖',size=20,fontproperties=myfont)mf.candlestick_ohlc(ax,zip_data,width=1,colorup='r',colordown='g')#把x軸的時間整數(shù)替換為時間日期ax.xaxis_date()#把x軸的文字傾斜plt.xticks(rotation=45)【任務描述】利用baostock包獲取2020和2021年五糧液股票的以下相關數(shù)據(jù):date(日期)、code(股票代碼)、open(開盤價)、high(最高價)、low(最低價)、close(收盤價)、preclose(上一收盤價)、volume(成交量)、amount(成交額)、turn(換手率)。針對五糧液股票完成以下數(shù)據(jù)可視化分析操作。(1)繪制五糧液股票數(shù)據(jù)的日K線圖和月K線圖。(2)計算五糧液股票2020年總收益率。(3)繪制五糧液股票日收益率的直方圖。(4)繪制五糧液股票數(shù)據(jù)的五日線和三十日線?!救蝿諏崿F(xiàn)】在JupyterNotebook開發(fā)環(huán)境中創(chuàng)建tc10-03.ipynb,然后在單元格中編寫代碼并輸出對應的結果?!救蝿?0-3】獲取五糧液股票數(shù)據(jù)并進行分析1.導入模塊importtushareastsfrompandasimportSeries,DataFrameimportbaostockasbsimportmplfinanceasmfimportmatplotlib.pyplotasplotfromstatsmodels.graphics.tsaplotsimportplot_acf,plot_pacffromstatsmodels.tsa.arima_modelimportARIMAfrompandas.plottingimportscatter_matrix獲取五糧液股票數(shù)據(jù)并進行分析2.獲取“五糧液股票”數(shù)據(jù)創(chuàng)建登錄對象,并獲取數(shù)據(jù)lg=bs.login()rs=bs.query_history_k_data_plus("sz.000858","date,code,open,high,low,close,preclose,volume,amount,turn",start_date='2021-01-01',end_date='2022-01-01',frequency="d",adjustflag="3")#輸出該數(shù)據(jù)data_list=[]while(rs.error_code=='0')&rs.next():#獲取一條記錄,將該記錄與此前獲取的記錄合并在一起data_list.append(rs.get_row_data())result=pd.DataFrame(data_list,columns=rs.fields)#生成DataFrame結構stock=DataFrame(result)stock.head()獲取五糧液股票數(shù)據(jù)并進行分析3.數(shù)據(jù)預處理()轉換數(shù)據(jù)類型stock['date']=pd.to_datetime(stock['date'])stock[['open','high','low','close','preclose','volume','amount']]=stock[['open','high','low','close','preclose','volume','amount']].astype(float)查看該數(shù)據(jù)集列數(shù)據(jù)的數(shù)據(jù)類型重命名列與設置date為索引dict={'open':'Open','close':'Close','high':'High','low':'Low','preclose':'Preclose','volume':'Volume','amount':'Amount','date':'Date'}stock.rename(columns=dict,inplace=True)stock.set_index(['Date'],inplace=True)獲取五糧液股票數(shù)據(jù)并進行分析4.繪制五糧液股票數(shù)據(jù)的日K線圖掃描二維碼在線瀏覽電子活頁10-3“繪制五糧液股票數(shù)據(jù)的日K線圖”中的代碼及繪制的圖形。獲取五糧液股票數(shù)據(jù)并進行分析5.繪制五糧液股票數(shù)據(jù)的月K線圖stockM=stock.resample('M').first()mc=mf.make_marketcolors(up="red",#上漲K線的顏色down="green",#下跌K線的顏色edge="gray",#蠟燭圖箱體的顏色volume="pink",#成交量柱子的顏色wick="gray"#蠟燭圖影線的顏色)style=mf.make_mpf_style(base_mpl_style="ggplot",marketcolors=mc)mf.plot(data=stockM,type="candle",title="K-LINE-months",ylabel="price",style=style,volume=True)6.計算五糧液股票2020年總收益率將收益率輸入列表stock['Profit']=((stock['Close']-stock['Preclose'])/stock['Preclose'])#stock['Profit']=stock['Profit'].apply(lambdax:'%.2f%%'%(x*100))#顯示百分比#計算五糧液股票2020年總收益率total_profit=((stock['Close'][-1]-stock['Close'][0])/stock['Close'][0])*100total_profit=total_profit.round(2)print('五糧液2020年股價上漲了{}%'.format(total_profit))獲取五糧液股票數(shù)據(jù)并進行分析輸出結果:五糧液2020年股價上漲了-25.29%7.繪制五糧液股票日收益率的直方圖stock.Profit.plot.hist(bins=40)獲取五糧液股票數(shù)據(jù)并進行分析8.繪制五糧液股票數(shù)據(jù)的五日線和三十日線M5=stock['Close'].rolling(5).mean()M5.plot(color='red')#繪制五日線M30=stock['Close'].rolling(30).mean()M30.plot(color='pink')#繪制三十日線獲取五糧液股票數(shù)據(jù)并進行分析【任務描述】CSV文件“bilibili股票數(shù)據(jù).csv”共有867行、7列數(shù)據(jù),列名分別為:日期、收盤價、開盤價、最高價、最低價、交易量、漲跌幅。針對該數(shù)據(jù)集完成以下數(shù)據(jù)可視化分析操作。(1)繪制bilibili網(wǎng)站上市以來每日股票收盤價的時間流動圖(單線)。(2)繪制bilibili網(wǎng)站上市以來每日股票最高價和最低價的時間流動圖(雙線)。(3)繪制bilibili網(wǎng)站股價蠟燭圖和股票交易量柱形圖?!救蝿諏崿F(xiàn)】
在JupyterNotebook開發(fā)環(huán)境中創(chuàng)建tc10-04.ipynb,然后在單元格中編寫代碼并輸出對應的結果?!救蝿?0-4】繪制bilibili網(wǎng)站上市至今的股價圖形繪制bilibili網(wǎng)站上市至今的股價圖形1.導入模塊importdatetimefrommons.utilsimportJsCodefrompyecharts.chartsimportKline2.讀取數(shù)據(jù)stock=pd.read_csv(r"dat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州大學《電動汽車動力電池與能源管理》2023-2024學年第一學期期末試卷
- 貴陽學院《中法跨文化交際》2023-2024學年第一學期期末試卷
- 2025天津市建筑安全員-C證(專職安全員)考試題庫
- 2025年河南建筑安全員《B證》考試題庫
- 2025年四川建筑安全員B證考試題庫附答案
- 2025江西省安全員考試題庫
- 廣州幼兒師范高等??茖W?!豆补芾砼c服務課程開發(fā)與教材分析》2023-2024學年第一學期期末試卷
- 廣州新華學院《軟件工程與實踐》2023-2024學年第一學期期末試卷
- 2025湖南建筑安全員《C證》考試題庫
- 2025年江蘇省建筑安全員知識題庫附答案
- 貸款咨詢服務協(xié)議書范本
- 教務處主任批評與自我批評
- 氟馬西尼完整
- 合同-勞動主體變更三方協(xié)議
- 挪用公款還款協(xié)議書范本
- 煤礦巷道噴涂技術方案
- 新版中國腦出血診治指南
- 高校搬遷可行性方案
- 充電樁選址優(yōu)化與布局規(guī)劃
- 科技產(chǎn)業(yè)園項目投資計劃書
- 苗木采購投標方案(技術標)
評論
0/150
提交評論