In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-04-09 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)05/31 Report--
In this article, the editor introduces "AkShare strategy example analysis" in detail, the content is detailed, the steps are clear, and the details are handled properly. I hope this "AkShare strategy example analysis" article can help you solve your doubts.
AkShare Policy sample Stock Policy
Download and install BackTrader
From datetime import datetime
Import backtrader as bt
Import matplotlib.pyplot as plt
Import akshare as ak
Plt.rcParams ["font.sans-serif"] = ["SimHei"]
Plt.rcParams ["axes.unicode_minus"] = False
Stock_hfq_df = ak.stock_zh_a_daily (symbol= "sh700000", adjust= "hfq") # use AkShare to obtain complex weight data per row
Class MyStrategy (bt.Strategy):
"
Master policy program
"
Params = ("maperiod", 20),) # globally set the parameters of the trading strategy
Def _ init__ (self):
"
Initialization function
"
Self.data_close = self.datas [0] .close # specify price sequence
# initialize trading orders, buying and selling prices and handling fees
Self.order = None
Self.buy_price = None
Self.buy_comm = None
# add moving average metrics
Self.sma = bt.indicators.SimpleMovingAverage (
Self.datas [0], period=self.params.maperiod
)
Def next (self):
"
: return:
: rtype:
"
If self.order: # check if there are instructions waiting to be executed
Return
# check whether you are in a position
If not self.position: # No position
If self.data_close [0] > self.sma [0]: # execute the buy condition judgment: the closing price rises above the 20-day moving average
Self.order = self.buy (size=100) # execute buy
Else:
If self.data_close [0] < self.sma [0]: # execute selling condition judgment: closing price falls below the 20-day moving average
Self.order = self.sell (size=100) # execute sell
Cerebro = bt.Cerebro () # initialize the backtest system
Start_date = datetime (2000, 1, 1) # retest start time
End_date = datetime (2020, 4, 21) # end time of backtest
Data = bt.feeds.PandasData (dataname=stock_hfq_df, fromdate=start_date, todate=end_date) # load data
Cerebro.adddata (data) # pass the data into the back test system
Cerebro.addstrategy (MyStrategy) # loads the trading strategy into the back test system
Start_cash = 1000000
Cerebro.broker.setcash (start_cash) # sets the initial capital to 100000
Cerebro.broker.setcommission (commission=0.002) # sets the transaction fee to 0.2%
Cerebro.run () # run the back test system
Port_value = cerebro.broker.getvalue () # get the total funds after the return test
Pnl = port_value-start_cash # profit and loss statistics
Print (f "initial funds: {start_cash}\ nRetest period: {start_date.strftime ('% Y% m% d')}: {end_date.strftime ('% Y% m% d')}")
Print (f "Total funds: {round (port_value, 2)}")
Print (f "net income: {round (pnl, 2)}")
Cerebro.plot (style='candlestick') # drawing result initial funding: 1000000
During the retest period: 20000101purl 20200421
Total funds: 1010238.65
Net income: 10238.65 read here, this "AkShare strategy sample analysis" article has been introduced, want to master the knowledge of this article still need to practice and use to understand, if you want to know more related articles, welcome to follow the industry information channel.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.