Navigation

    Quantiacs Community

    • Register
    • Login
    • Search
    • Categories
    • News
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    1. Home
    2. Popular
    Log in to post
    • All categories
    • Support
    •      Request New Features
    • Strategy help
    • General Discussion
    • News and Feature Releases
    • All Topics
    • New Topics
    • Watched Topics
    • Unreplied Topics
    • All Time
    • Day
    • Week
    • Month
    • S

      Files disappeared from online env
      Support • • Sheikh

      12
      1
      Votes
      12
      Posts
      985
      Views

      support

      @antinomy Hi, sorry for the late answer. The problem is the size of files, we are working on a solution for avoiding this issue in the future.

    • A

      Different Sharpe ratios in backtest and competition filter
      Support • • antinomy

      12
      2
      Votes
      12
      Posts
      1111
      Views

      C

      @support Thank you very much for the clarification, and once again congratulations for the great job you are doing 😉

    • C

      Question about the contest structure
      Support • • captain.prairie_dog

      12
      0
      Votes
      12
      Posts
      1031
      Views

      support

      Dear @angusslq,

      Once the competition ends its live period (currently 4 months for Q22), the prizes are given. That means that at the end of those 4 months we sort all strategies and only the top 7 by sharpe ratio are eligible for prize and get allocation: 1st place 1M, second place 500k etc. and this cannot be changed afterwards. The prizes are not given on the daily basis and certainly not during the contest live period. You can find more info in the contest rules page on our website.

      For your second question, we assume risk-free rate to be zero. You can find additional information about how we use sharpe ratio here.

      Regards

    • news-quantiacs

      The Q16 Contest is open!
      News and Feature Releases • • news-quantiacs

      12
      2
      Votes
      12
      Posts
      1236
      Views

      support

      @antinomy In the end we followed your advise and changed a little bit the algorithm for adding data, once a cryptocurrency is in the top10 we include it with its past history and go on with the update (now DASH and XMR are being updated). Of course once the crypto is not among the top 10, the liquidity tag for the filter is "zero". Thank you!

    • O

      ERROR! The max exposure is too high
      Support • • omohyoid

      12
      0
      Votes
      12
      Posts
      579
      Views

      V

      @antinomy
      Hi! Don’t worry about leverage — it isn’t allowed on the Quantiacs platform: all user-supplied weights are automatically normalized when your strategy is saved. Here’s how that works with two instruments.
      Source code of the normalize function https://github.com/quantiacs/toolbox/blob/main/qnt/output.py:

      def normalize(output, per_asset=False): from qnt.data.common import ds output = output.where(np.isfinite(output)).fillna(0) if ds.TIME in output.dims: output = output.transpose(ds.TIME, ds.ASSET) output = output.loc[ np.sort(output.coords[ds.TIME].values), np.sort(output.coords[ds.ASSET].values) ] if per_asset: output = xr.where(output > 1, 1, output) output = xr.where(output < -1, -1, output) else: s = abs(output).sum(ds.ASSET) if ds.TIME in output.dims: s[s < 1] = 1 else: s = 1 if s < 1 else s output = output / s try: output = output.drop_vars(ds.FIELD) except ValueError: pass return output

      Example with two assets

      import xarray as xr from qnt.data.common import ds from qnt.output import normalize times = ['2025-06-16'] assets = ['Asset1', 'Asset2'] out1 = xr.DataArray([[1.5, 0.5]], coords={ds.TIME: times, ds.ASSET: assets}, dims=[ds.TIME, ds.ASSET]) print(normalize(out1).values) out2 = xr.DataArray([[0.3, -0.2]], coords={ds.TIME: times, ds.ASSET: assets}, dims=[ds.TIME, ds.ASSET]) print(normalize(out2).values)

      Console output

      [[0.75 0.25]] [[ 0.3 -0.2 ]]

      Example 1: The absolute exposure is 2 > 1, so every weight is divided by 2, yielding 0.75 and 0.25.

      Example 2: The exposure is 0.5 < 1, so the scaling factor is set to 1 and the weights stay 0.3 and –0.2.

      In short, even if your strategy outputs more than 100 % exposure, normalize always scales it back so the total absolute exposure never exceeds 1—preventing leverage on the Quantiacs platform.

    • B

      Fundamental data incomplete?
      Support • • buyers_are_back

      11
      0
      Votes
      11
      Posts
      640
      Views

      support

      @buyers_are_back Hi,
      the update was related to market_capitalization field availability and correctness, as vyacheslav_b described. Unfortunately, at the moment we cannot provide missing fundamental data, like number of ordinary shares, for some stocks (e.g. META). We are going to investigate potential new data sources in order to improve our datasets.
      Regards,

    • S

      Different Sharpe ratios in backtest and after submission
      Support • • Sun-73

      11
      1
      Votes
      11
      Posts
      874
      Views

      S

      Hi @support,

      I modified the retraining interval to 1 day and it worked. Thank you for the help.

      You guys rock!

    • S

      Q22 contest
      News and Feature Releases • • Sun-73

      11
      0
      Votes
      11
      Posts
      1064
      Views

      support

      @carogate Hi, at the moment unfortunately not, sorry...

    • W

      Q20 information?
      News and Feature Releases • • wireless.trout

      11
      1
      Votes
      11
      Posts
      1084
      Views

      support

      @magenta-muskrat Yes, we would have said crypto and stocks otherwise.

    • T

      Error Q20 output missing when submitting
      Strategy help • • TheFlyingDutchman

      11
      1
      Votes
      11
      Posts
      1390
      Views

      V

      @theflyingdutchman

      it can help you. See topic 3) Not enough bid information.

      https://github.com/quantiacs/strategy-q20-nasdaq100-quick-start/blob/master/strategy.ipynb

      def get_enough_bid_for(data_, weights_): time_traded = weights_.time[abs(weights_).fillna(0).sum('asset') > 0] is_strategy_traded = len(time_traded) if is_strategy_traded: return xr.where(weights_.time < time_traded.min(), data_.sel(field="is_liquid"), weights_) return weights_ weights_new = get_enough_bid_for(data, weights) weights_new = weights_new.sel(time=slice("2006-01-01",None))
    • A

      Submitting strategies
      Support • • aybber

      10
      0
      Votes
      10
      Posts
      1071
      Views

      O

      @support said in Submitting strategies:

      @aybber mapquest directions Hello, that is just due to the fact that there is a long queue of systems to be processed, we will work on improving the processing time. Submission time will be extended to end of October as there were some issues.

      Thank you, all is clear.

    • A

      Error found while running analysis
      Support • • alfredaita

      10
      0
      Votes
      10
      Posts
      1258
      Views

      I

      @support said in Error found while running analysis:

      @alfredaita wordle unlimited Thanks, can it maybe help? https://stackoverflow.com/questions/53421626/valueerror-found-array-with-0-sample-s-shape-0-1-while-a-minimum-of-1-is

      Thanks a lot! I'll try that out.

    • M

      Runtime Error?
      Support • • magenta.kabuto

      10
      0
      Votes
      10
      Posts
      513
      Views

      M

      Hi @support,
      no problem.
      I didnt check until now, the accepted strategies do not use machine learning 🙂
      I will try out some machine learning strategies in the upcoming days and let you know.
      Thanks again and Regards

    • S

      Q20 submission
      Support • • Sun-73

      10
      0
      Votes
      10
      Posts
      803
      Views

      A

      @support Thanks!

    • D

      Optimizer not working locally
      Support • • dark.yellowjacket

      10
      0
      Votes
      10
      Posts
      777
      Views

      C

      Thanks @dark-yellowjacket for post your solution for the optimizer, it works fine for me but could you please go deeper explaining how do you implement the optimized obtained parameter values in the final strategy. I have tried several methods (even in several computers) , obtaining always errors.
      For example using this template provided by Quantiacs (where i call to "Strategy" I use the same previouslly optimized, and the config.json is the output asset by asset obtained after optimization):

      import json import xarray as xr import qnt.backtester as qnbk from Strategy import * def optmized_strategy(data, config): results = [] for c in config: results.append(strategy_long(data, **c)) # align and join results results = xr.align(*results, join='outer') results = [r.fillna(0) for r in results] output = sum(results) / len(results) return output config = json.load(open('config.json', 'r')) # multi-pass # It may look slow, but it is ok. The evaluator will run only one iteration per day. qnbk.backtest( competition_type='stocks_nasdaq100', lookback_period=365, strategy=lambda d: optmized_strategy(d, config), # strategy=strategy_long, # you can check the base strategy too start_date='2006-01-01')

      It rises the following error:

      Reloaded modules: Estrategia fetched chunk 1/5 0s fetched chunk 2/5 0s fetched chunk 3/5 0s fetched chunk 4/5 0s fetched chunk 5/5 0s Data loaded 1s Run last pass... Load data... fetched chunk 1/1 0s Data loaded 0s Run strategy... Traceback (most recent call last): File "C:\Users\LuisPC\.conda\envs\qntdev\lib\site-packages\spyder_kernels\py3compat.py", line 356, in compat_exec exec(code, globals, locals) File "c:\users\luispc\desktop\quantiacs\q18\prueba.py", line 39, in <module> start_date='2006-01-01') File "C:\Users\LuisPC\.conda\envs\qntdev\lib\site-packages\qnt\backtester.py", line 291, in backtest result = strategy_wrap(data, state) File "C:\Users\LuisPC\.conda\envs\qntdev\lib\site-packages\qnt\backtester.py", line 270, in <lambda> strategy_wrap = (lambda d, s: strategy(d)) if args_count < 2 else strategy File "c:\users\luispc\desktop\quantiacs\q18\prueba.py", line 37, in <lambda> strategy=lambda d: optmized_strategy(d, config), File "c:\users\luispc\desktop\quantiacs\q18\prueba.py", line 22, in optmized_strategy results.append(strategy_long(data, **c)) File "C:\Users\LuisPC\Desktop\quantiacs\Q18\Estrategia.py", line 16, in strategy_long data = data.sel(asset=[asset]) File "C:\Users\LuisPC\.conda\envs\qntdev\lib\site-packages\xarray\core\dataarray.py", line 1337, in sel **indexers_kwargs, File "C:\Users\LuisPC\.conda\envs\qntdev\lib\site-packages\xarray\core\dataset.py", line 2505, in sel self, indexers=indexers, method=method, tolerance=tolerance File "C:\Users\LuisPC\.conda\envs\qntdev\lib\site-packages\xarray\core\coordinates.py", line 422, in remap_label_indexers obj, v_indexers, method=method, tolerance=tolerance File "C:\Users\LuisPC\.conda\envs\qntdev\lib\site-packages\xarray\core\indexing.py", line 120, in remap_label_indexers idxr, new_idx = index.query(labels, method=method, tolerance=tolerance) File "C:\Users\LuisPC\.conda\envs\qntdev\lib\site-packages\xarray\core\indexes.py", line 242, in query raise KeyError(f"not all values found in index {coord_name!r}") KeyError: "not all values found in index 'asset'"

      I tried to explain this problem about the implementation in the Backtester in another forum thread time ago, without getting a valid answer, therefore I would appreciate any idea you can give me on this matter.
      ...Otherwise I am afraid that I will not present algorithms for this contest (Sadly 😢 )
      Regards.
      Luis G.

    • O

      I cannot install pandas 1.2.5
      Support • • omohyoid

      10
      1
      Votes
      10
      Posts
      706
      Views

      O

      @support Thx for ur reply
      I'll try it

    • S

      Optimizer still running
      Strategy help • • spancham

      10
      1
      Votes
      10
      Posts
      776
      Views

      S

      @support
      Thank you! I'll try that and let you know.

    • E

      Local Development Error "No module named 'qnt'"
      Support • • EDDIEE

      9
      1
      Votes
      9
      Posts
      876
      Views

      support

      @eddiee Hello! Please check here:

      https://quantiacs.com/documentation/en/user_guide/local_development.html#updating-the-conda-environment

    • news-quantiacs

      Data for Futures
      News and Feature Releases • • news-quantiacs

      9
      0
      Votes
      9
      Posts
      947
      Views

      support

      @captain-nidoran

      Hello.

      We are making some changes before starting competitions, it affected the statuses of some submissions and they became invisible on the client side. Now it should be ok.

      We carefully preserve users' data, we are making backups every day. So in the worst case of data loss, we are able to restore most data from these backups. Don't worry a lot. And thank you for the report.

      Regards.

    • S

      Issue with the In-sample Sharpe
      Support • • Sun-73

      9
      0
      Votes
      9
      Posts
      625
      Views

      S

      @support Thank you once again. You guys are the best!

    • Documentation
    • About
    • Career
    • My account
    • Privacy policy
    • Terms and Conditions
    • Cookies policy
    Home
    Copyright © 2014 - 2021 Quantiacs LLC.
    Powered by NodeBB | Contributors