Hi,
I would like to know how the classification is done in context. you only look at the shape ratio over the out-of-sample period?
Posts made by dark.pidgeot
-
RE: Announcement of updates to the Q21 contest
-
RE: Q20 contest results
@support Hi,
I would like to know how the classification is done in context. you only look at the shape ratio over the out-o-sample period? -
Optimization speed in python
Hi,
Is there a way to speed up optimization running ?
thank for your help
-
RE: Struggle creating local dev environment
@dark-pidgeot Hi, i have the same probleme with the version of pandas
-
RE: Struggle creating local dev environment
@support Hi,
is it necessary to manually modify the qnt module before using it in colab? -
RE: Q20 contest results
@theflyingdutchman it seemed to me that strategies should be able to open long and short positions
-
RE: Q20 contest results
@support said in Q20 contest results:
That is also a good observation. In general, we would like a long-only system with low turnover to beat the Nasdaq index for example. But still, we see a lot of problems with hand-picking stocks and survivorship-bias affected systems.
if I understand correctly
if I initially select 10 stocks, and even if I have a good sharpe ratio, my strategy can make long and short positions. I could be disqualified
-
RE: Q20 contest results
@support I always ask myself the question, when we look at the winners of other competitions, there are some who trade just 5 stocks. can we consider this to be hand-picking?
-
RE: Q20 contest results
@support I don't really understand, if I have a strategy that works on 10 stocks for example, to be eligible for the price, I absolutely have to trade all the stocks?
-
RE: Q20 contest results
@support Am I disqualified if I do this?
data = qndata.stocks.load_ndx_data(min_date="2005-06-01", assets=["NAS:AAPL", "NAS:AMZN", "NAS:MRNA", "NAS:MSFT"])
I select a few stocks, it's not a dynamic selection
-
RE: Q20 contest results
@support said in Q20 contest results:
W
Hi,
thank you for these answers. So the disqualification will depend on how the user selected the actions? -
progress check froze
Hi,
The progress check has frozen for all my strategies since March 11, 2024. is this normal?
Thank you for your help -
RE: Q20 contest results
@support said in Q20 contest results:
Hand-picking of stocks allows to easily game the contest, for example by submitting 15 long only trading systems on single stocks chosen in a discretionary way. The purpose of these contests is to develop systems which are working on stocks and are free from survivo
Hello,
if there's a hint of manual stock selection,
how do you rule on disqualification?
thanks in advance -
RE: Errors when I save the isssus parameters of my optimization in the json file
@support Thank you for your advise, it's ok
-
Errors when I save the isssus parameters of my optimization in the json file
Hello everyone,
I get errors when I save the isssus parameters of my optimization in the json file
I've created a program that takes two parameters param1 and param2. I have otpimized them and I would like to save the parameters in a json file.
here's a snippet of the command used :
#DEBUG#
evaluator will remove cells with such marks before evaluation
result_long = qno.optimize_strategy(
data,
strategy_long,
qno.full_range_args_generator(param1=np.arange(10, 20, 1, dtype=int),param2=np.arange(1, 20, 2, dtype=int),
asset=data.asset.values.tolist()),
workers=10 # you can set more workers on your local PC to speed up
)config = find_best_parameters(result=result_long, asset_count=15, parameter_set_count=3)
If you change the asset_count and/or parameters_count, you will get a new strategy.
json.dump(config, open('config.json', 'w'), indent=2)
display(config)
I get the following errors
TypeError Traceback (most recent call last)
Cell In[10], line 30
27 config = find_best_parameters(result=result_long, asset_count=15, parameter_set_count=3)
28 # If you change the asset_count and/or parameters_count, you will get a new strategy.
---> 30 json.dump(config, open('config.json', 'w'), indent=2)
32 display(config)File /usr/local/lib/python3.10/json/init.py:179, in dump(obj, fp, skipkeys, ensure_ascii, check_circular, allow_nan, cls, indent, separators, default, sort_keys, **kw)
173 iterable = cls(skipkeys=skipkeys, ensure_ascii=ensure_ascii,
174 check_circular=check_circular, allow_nan=allow_nan, indent=indent,
175 separators=separators,
176 default=default, sort_keys=sort_keys, **kw).iterencode(obj)
177 # could accelerate with writelines in some versions of Python, at
178 # a debuggability cost
--> 179 for chunk in iterable:
180 fp.write(chunk)File /usr/local/lib/python3.10/json/encoder.py:429, in _make_iterencode.<locals>._iterencode(o, _current_indent_level)
427 yield _floatstr(o)
428 elif isinstance(o, (list, tuple)):
--> 429 yield from _iterencode_list(o, _current_indent_level)
430 elif isinstance(o, dict):
431 yield from _iterencode_dict(o, _current_indent_level)File /usr/local/lib/python3.10/json/encoder.py:325, in _make_iterencode.<locals>._iterencode_list(lst, _current_indent_level)
323 else:
324 chunks = _iterencode(value, _current_indent_level)
--> 325 yield from chunks
326 if newline_indent is not None:
327 _current_indent_level -= 1File /usr/local/lib/python3.10/json/encoder.py:405, in _make_iterencode.<locals>._iterencode_dict(dct, _current_indent_level)
403 else:
404 chunks = _iterencode(value, _current_indent_level)
--> 405 yield from chunks
406 if newline_indent is not None:
407 _current_indent_level -= 1File /usr/local/lib/python3.10/json/encoder.py:438, in _make_iterencode.<locals>._iterencode(o, _current_indent_level)
436 raise ValueError("Circular reference detected")
437 markers[markerid] = o
--> 438 o = _default(o)
439 yield from _iterencode(o, _current_indent_level)
440 if markers is not None:File /usr/local/lib/python3.10/json/encoder.py:179, in JSONEncoder.default(self, o)
160 def default(self, o):
161 """Implement this method in a subclass such that it returns
162 a serializable object foro
, or calls the base implementation
163 (to raise aTypeError
).
(...)
177
178 """
--> 179 raise TypeError(f'Object of type {o.class.name} '
180 f'is not JSON serializable')TypeError: Object of type int64 is not JSON serializable
thank you in advance for your help
-
RE: Calculation of trading strategies
@jeppe_and Thanks for the reply, i'll check my code
-
RE: Calculation of trading strategies
On the picture, there are indeed generated positions, so I don't really understand