Skip to content

Commit

Permalink
[Mod] flake8 code quanlity improve
Browse files Browse the repository at this point in the history
  • Loading branch information
vnpy committed Nov 7, 2019
1 parent 65fc733 commit 3ed0131
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 50 deletions.
90 changes: 46 additions & 44 deletions examples/data_analysis/data_analysis.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def __init__(self):
self.orignal = pd.DataFrame()

self.index_1to1 = []
self.index_2to2 = []
self.index_2to2 = []
self.index_3to1 = []
self.index_2to1 = []
self.index_4to1 = []
Expand All @@ -42,10 +42,10 @@ def __init__(self):

def load_history(
self,
symbol: str,
exchange: Exchange,
interval: Interval,
start: datetime,
symbol: str,
exchange: Exchange,
interval: Interval,
start: datetime,
end: datetime,
rate: float = 0.0,
index_1to1: list = None,
Expand All @@ -57,9 +57,9 @@ def load_history(
window_volatility: int = 20,

):
""""""
""""""
output("开始加载历史数据")

self.window_volatility = window_volatility
self.window_index = window_index
self.rate = rate
Expand All @@ -69,23 +69,23 @@ def load_history(
self.index_2to1 = index_2to1
self.index_4to1 = index_4to1

# Load history data from database
bars = database_manager.load_bar_data(
symbol=symbol,
exchange=exchange,
interval=interval,
start=start,
# Load history data from database
bars = database_manager.load_bar_data(
symbol=symbol,
exchange=exchange,
interval=interval,
start=start,
end=end,

)

output(f"历史数据加载完成,数据量:{len(bars)}")

# Generate history data in DataFrame
t = []
o = []
h = []
l = []
l = [] # noqa
c = []
v = []

Expand All @@ -96,12 +96,12 @@ def load_history(
low_price = bar.low_price
close_price = bar.close_price
volume = bar.volume

t.append(time)
o.append(open_price)
h.append(high_price)
l.append(low_price)
c.append(close_price)
c.append(close_price)
v.append(volume)

self.orignal["open"] = o
Expand All @@ -110,22 +110,22 @@ def load_history(
self.orignal["close"] = c
self.orignal["volume"] = v
self.orignal.index = t

def base_analysis(self, df: DataFrame = None):
""""""
if df is None:
df = self.orignal

if df is None:
output("数据为空,请输入数据")

close_price = df["close"]

output("第一步:画出行情图,检查数据断点")

close_price.plot(figsize=(20, 8), title="close_price")
plt.show()

random_test(close_price)
stability_test(close_price)
autocorrelation_test(close_price)
Expand Down Expand Up @@ -158,7 +158,7 @@ def relative_volatility_analysis(self, df: DataFrame = None):
df["relative_vol"].hist(bins=200, figsize=(20, 6), grid=False)
plt.show()

statitstic_info(df["relative_vol"])
statitstic_info(df["relative_vol"])

def growth_analysis(self, df: DataFrame = None):
"""
Expand All @@ -173,8 +173,8 @@ def growth_analysis(self, df: DataFrame = None):

df["g%"].hist(bins=200, figsize=(20, 6), grid=False)
plt.show()
statitstic_info(df["g%"])

statitstic_info(df["g%"])

def calculate_index(self, df: DataFrame = None):
""""""
Expand All @@ -184,20 +184,20 @@ def calculate_index(self, df: DataFrame = None):
for i in self.index_1to1:
func = getattr(talib, i)
df[i] = func(
np.array(df["close"]),
np.array(df["close"]),
self.window_index
)

if self.index_3to1:
for i in self.index_3to1:
func = getattr(talib, i)
df[i] = func(
df[i] = func(
np.array(df["high"]),
np.array(df["low"]),
np.array(df["close"]),
self.window_index
)

if self.index_2to2:
for i in self.index_2to2:
func = getattr(talib, i)
Expand All @@ -210,7 +210,7 @@ def calculate_index(self, df: DataFrame = None):
down = i + "_DOWN"
df[up] = result_up
df[down] = result_down

if self.index_2to1:
for i in self.index_2to1:
func = getattr(talib, i)
Expand All @@ -223,13 +223,13 @@ def calculate_index(self, df: DataFrame = None):
if self.index_4to1:
for i in self.index_4to1:
func = getattr(talib, i)
df[i] = func(
np.array(df["open"]),
df[i] = func(
np.array(df["open"]),
np.array(df["high"]),
np.array(df["low"]),
np.array(df["close"]),
)

return df

def multi_time_frame_analysis(self, intervals: list = None, df: DataFrame = None):
Expand All @@ -245,10 +245,10 @@ def multi_time_frame_analysis(self, intervals: list = None, df: DataFrame = None
output("请先加载数据")
return

for interval in intervals:
output("------------------------------------------------")
for interval in intervals:
output("------------------------------------------------")
output(f"合成{interval}周期K先并开始数据分析")

data = pd.DataFrame()
data["open"] = df["open"].resample(interval, how="first")
data["high"] = df["high"].resample(interval, how="max")
Expand All @@ -260,25 +260,27 @@ def multi_time_frame_analysis(self, intervals: list = None, df: DataFrame = None
self.results[interval] = result

def show_chart(self, data, boll_wide):
""""""
""""""
data["boll_up"] = data["SMA"] + data["STDDEV"] * boll_wide
data["boll_down"] = data["SMA"] - data["STDDEV"] * boll_wide

up_signal = []
down_signal = []
len_data = len(data["close"])
len_data = len(data["close"])
for i in range(1, len_data):
if data.iloc[i]["close"] > data.iloc[i]["boll_up"]and data.iloc[i-1]["close"] < data.iloc[i - 1]["boll_up"]:
if data.iloc[i]["close"] > data.iloc[i]["boll_up"]and data.iloc[i - 1]["close"] < data.iloc[i - 1]["boll_up"]:
up_signal.append(i)

elif data.iloc[i]["close"] < data.iloc[i]["boll_down"] and data.iloc[i-1]["close"] > data.iloc[i - 1]["boll_down"]:
elif data.iloc[i]["close"] < data.iloc[i]["boll_down"] and data.iloc[i - 1]["close"] > data.iloc[i - 1]["boll_down"]:
down_signal.append(i)

fig = plt.figure(figsize=(20, 8))
plt.figure(figsize=(20, 8))
close = data["close"]
plt.plot(close, lw=1)
plt.plot(close, '^', markersize=5, color='r', label='UP signal', markevery=up_signal)
plt.plot(close, 'v', markersize=5, color='g', label='DOWN signal', markevery=down_signal)
plt.plot(close, '^', markersize=5, color='r',
label='UP signal', markevery=up_signal)
plt.plot(close, 'v', markersize=5, color='g',
label='DOWN signal', markevery=down_signal)
plt.plot(data["boll_up"], lw=0.5, color="r")
plt.plot(data["boll_down"], lw=0.5, color="g")
plt.legend()
Expand Down Expand Up @@ -327,7 +329,7 @@ def autocorrelation_test(close_price):
def statitstic_info(df):
""""""
mean = round(df.mean(), 4)
median = round(df.median(), 4)
median = round(df.median(), 4)
output(f"样本平均数:{mean}, 中位数: {median}")

skew = round(df.skew(), 4)
Expand All @@ -339,14 +341,14 @@ def statitstic_info(df):
skew_attribute = "分布偏左"
else:
skew_attribute = "分布偏右"

if kurt == 0:
kurt_attribute = "正态分布"
elif kurt > 0:
kurt_attribute = "分布陡峭"
else:
kurt_attribute = "分布平缓"

output(f"偏度为:{skew},属于{skew_attribute};峰度为:{kurt},属于{kurt_attribute}\n")


Expand Down
10 changes: 5 additions & 5 deletions vnpy/gateway/bitfinex/bitfinex_gateway.py
Original file line number Diff line number Diff line change
Expand Up @@ -396,12 +396,12 @@ def __init__(self, gateway):
self.subscribed = {}

def connect(
self,
key: str,
secret: str,
proxy_host: str,
self,
key: str,
secret: str,
proxy_host: str,
proxy_port: int,
margin: bool
margin: bool
):
""""""
self.key = key
Expand Down
2 changes: 1 addition & 1 deletion vnpy/gateway/bybit/bybit_gateway.py
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ def send_order(self, req: OrderRequest):
}

order = req.create_order_data(order_id, self.gateway_name)

# Only add price for limit order.
data["order_type"] = ORDER_TYPE_VT2BYBIT[req.type]
data["price"] = req.price
Expand Down

0 comments on commit 3ed0131

Please sign in to comment.