aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2018-02-19 18:16:43 +0100
committerIsmaël Bouya <ismael.bouya@normalesup.org>2018-02-19 18:16:43 +0100
commite246023e2b630c0737f1027a5e99f517f874d699 (patch)
treec6d0a443b0f2e1bd226612a4694c5c6cbde43a3d
parent7eb9cb36c2ef01097fe8e99d40dd17308abdfe37 (diff)
downloadTrader-e246023e2b630c0737f1027a5e99f517f874d699.tar.gz
Trader-e246023e2b630c0737f1027a5e99f517f874d699.tar.zst
Trader-e246023e2b630c0737f1027a5e99f517f874d699.zip
Add liquidity to helper methods
-rw-r--r--helper.py24
-rw-r--r--test.py8
2 files changed, 16 insertions, 16 deletions
diff --git a/helper.py b/helper.py
index 3e39785..23b2d0b 100644
--- a/helper.py
+++ b/helper.py
@@ -72,20 +72,20 @@ def fetch_fees(market):
72 fees_cache[market.__class__] = market.fetch_fees() 72 fees_cache[market.__class__] = market.fetch_fees()
73 return fees_cache[market.__class__] 73 return fees_cache[market.__class__]
74 74
75def prepare_trades(market, base_currency="BTC", compute_value="average", debug=False): 75def prepare_trades(market, base_currency="BTC", liquidity="medium", compute_value="average", debug=False):
76 BalanceStore.fetch_balances(market) 76 BalanceStore.fetch_balances(market)
77 values_in_base = BalanceStore.in_currency(base_currency, market, compute_value=compute_value) 77 values_in_base = BalanceStore.in_currency(base_currency, market, compute_value=compute_value)
78 total_base_value = sum(values_in_base.values()) 78 total_base_value = sum(values_in_base.values())
79 new_repartition = BalanceStore.dispatch_assets(total_base_value) 79 new_repartition = BalanceStore.dispatch_assets(total_base_value, liquidity=liquidity)
80 # Recompute it in case we have new currencies 80 # Recompute it in case we have new currencies
81 values_in_base = BalanceStore.in_currency(base_currency, market, compute_value=compute_value) 81 values_in_base = BalanceStore.in_currency(base_currency, market, compute_value=compute_value)
82 TradeStore.compute_trades(values_in_base, new_repartition, market=market, debug=debug) 82 TradeStore.compute_trades(values_in_base, new_repartition, market=market, debug=debug)
83 83
84def update_trades(market, base_currency="BTC", compute_value="average", only=None, debug=False): 84def update_trades(market, base_currency="BTC", liquidity="medium", compute_value="average", only=None, debug=False):
85 BalanceStore.fetch_balances(market) 85 BalanceStore.fetch_balances(market)
86 values_in_base = BalanceStore.in_currency(base_currency, market, compute_value=compute_value) 86 values_in_base = BalanceStore.in_currency(base_currency, market, compute_value=compute_value)
87 total_base_value = sum(values_in_base.values()) 87 total_base_value = sum(values_in_base.values())
88 new_repartition = BalanceStore.dispatch_assets(total_base_value) 88 new_repartition = BalanceStore.dispatch_assets(total_base_value, liquidity=liquidity)
89 TradeStore.compute_trades(values_in_base, new_repartition, only=only, market=market, debug=debug) 89 TradeStore.compute_trades(values_in_base, new_repartition, only=only, market=market, debug=debug)
90 90
91def prepare_trades_to_sell_all(market, base_currency="BTC", compute_value="average", debug=False): 91def prepare_trades_to_sell_all(market, base_currency="BTC", compute_value="average", debug=False):
@@ -126,8 +126,8 @@ def print_balances(market, base_currency="BTC"):
126 print("total:") 126 print("total:")
127 print(sum(BalanceStore.in_currency(base_currency, market).values())) 127 print(sum(BalanceStore.in_currency(base_currency, market).values()))
128 128
129def process_sell_needed__1_sell(market, base_currency="BTC", debug=False): 129def process_sell_needed__1_sell(market, liquidity="medium", base_currency="BTC", debug=False):
130 prepare_trades(market, base_currency=base_currency, debug=debug) 130 prepare_trades(market, liquidity=liquidity, base_currency=base_currency, debug=debug)
131 TradeStore.prepare_orders(compute_value="average", only="dispose") 131 TradeStore.prepare_orders(compute_value="average", only="dispose")
132 print("------------------") 132 print("------------------")
133 for currency, balance in BalanceStore.all.items(): 133 for currency, balance in BalanceStore.all.items():
@@ -138,8 +138,8 @@ def process_sell_needed__1_sell(market, base_currency="BTC", debug=False):
138 TradeStore.run_orders() 138 TradeStore.run_orders()
139 follow_orders() 139 follow_orders()
140 140
141def process_sell_needed__2_buy(market, base_currency="BTC", debug=False): 141def process_sell_needed__2_buy(market, liquidity="medium", base_currency="BTC", debug=False):
142 update_trades(market, base_currency=base_currency, debug=debug, only="acquire") 142 update_trades(market, base_currency=base_currency, liquidity=liquidity, debug=debug, only="acquire")
143 TradeStore.prepare_orders(compute_value="average", only="acquire") 143 TradeStore.prepare_orders(compute_value="average", only="acquire")
144 print("------------------") 144 print("------------------")
145 for currency, balance in BalanceStore.all.items(): 145 for currency, balance in BalanceStore.all.items():
@@ -151,7 +151,7 @@ def process_sell_needed__2_buy(market, base_currency="BTC", debug=False):
151 TradeStore.run_orders() 151 TradeStore.run_orders()
152 follow_orders() 152 follow_orders()
153 153
154def process_sell_all__1_all_sell(market, base_currency="BTC", debug=False): 154def process_sell_all__1_all_sell(market, base_currency="BTC", debug=False, liquidity="medium"):
155 prepare_trades_to_sell_all(market, base_currency=base_currency, debug=debug) 155 prepare_trades_to_sell_all(market, base_currency=base_currency, debug=debug)
156 TradeStore.prepare_orders(compute_value="average") 156 TradeStore.prepare_orders(compute_value="average")
157 print("------------------") 157 print("------------------")
@@ -163,9 +163,9 @@ def process_sell_all__1_all_sell(market, base_currency="BTC", debug=False):
163 TradeStore.run_orders() 163 TradeStore.run_orders()
164 follow_orders() 164 follow_orders()
165 165
166def process_sell_all__2_all_buy(market, base_currency="BTC", debug=False): 166def process_sell_all__2_all_buy(market, base_currency="BTC", debug=False, liquidity="medium"):
167 prepare_trades(market, base_currency=base_currency, debug=debug) 167 prepare_trades(market, liquidity=liquidity, base_currency=base_currency, debug=debug)
168 TradeStore.prepare_orders() 168 TradeStore.prepare_orders(compute_value="average")
169 print("------------------") 169 print("------------------")
170 for currency, balance in BalanceStore.all.items(): 170 for currency, balance in BalanceStore.all.items():
171 print(balance) 171 print(balance)
diff --git a/test.py b/test.py
index d58b203..93809ed 100644
--- a/test.py
+++ b/test.py
@@ -870,7 +870,7 @@ class HelperTest(WebMockTestCase):
870 } 870 }
871 helper.process_sell_needed__1_sell(market) 871 helper.process_sell_needed__1_sell(market)
872 prepare_trades.assert_called_with(market, base_currency="BTC", 872 prepare_trades.assert_called_with(market, base_currency="BTC",
873 debug=False) 873 liquidity="medium", debug=False)
874 prepare_orders.assert_called_with(compute_value="average", 874 prepare_orders.assert_called_with(compute_value="average",
875 only="dispose") 875 only="dispose")
876 print_all_with_order.assert_called() 876 print_all_with_order.assert_called()
@@ -903,7 +903,7 @@ class HelperTest(WebMockTestCase):
903 } 903 }
904 helper.process_sell_needed__2_buy(market) 904 helper.process_sell_needed__2_buy(market)
905 update_trades.assert_called_with(market, base_currency="BTC", 905 update_trades.assert_called_with(market, base_currency="BTC",
906 debug=False, only="acquire") 906 debug=False, liquidity="medium", only="acquire")
907 prepare_orders.assert_called_with(compute_value="average", 907 prepare_orders.assert_called_with(compute_value="average",
908 only="acquire") 908 only="acquire")
909 print_all_with_order.assert_called() 909 print_all_with_order.assert_called()
@@ -968,8 +968,8 @@ class HelperTest(WebMockTestCase):
968 } 968 }
969 helper.process_sell_all__2_all_buy(market) 969 helper.process_sell_all__2_all_buy(market)
970 prepare_trades.assert_called_with(market, base_currency="BTC", 970 prepare_trades.assert_called_with(market, base_currency="BTC",
971 debug=False) 971 liquidity="medium", debug=False)
972 prepare_orders.assert_called_with() 972 prepare_orders.assert_called_with(compute_value="average")
973 print_all_with_order.assert_called() 973 print_all_with_order.assert_called()
974 move_balances.assert_called_with(market, debug=False) 974 move_balances.assert_called_with(market, debug=False)
975 run_orders.assert_called() 975 run_orders.assert_called()