Skip to content

Instantly share code, notes, and snippets.

@Laeeth
Created January 6, 2020 02:04
Show Gist options
  • Save Laeeth/4fdc7b16ca166418ac8a2a3ad5eb4d4a to your computer and use it in GitHub Desktop.
Save Laeeth/4fdc7b16ca166418ac8a2a3ad5eb4d4a to your computer and use it in GitHub Desktop.
Opengamma JNI
#!/bin/bash
javac -classpath "/usr/lib/jkm/default-runtime/jre/lib:/tank3/data/symmetry/develop/Strata/target/z/strata-dist-2.6.10-SNAPSHOT/lib/*:." Main.java
java -classpath "/usr/lib/jkm/default-runtime/jre/lib:/tank3/data/symmetry/develop/Strata/target/z/strata-dist-2.6.10-SNAPSHOT/lib/*:." -D"java.library.path=." Main
//package io.kaleidic.main;
import com.opengamma.strata.basics.index.IborIndex;
import com.opengamma.strata.basics.index.IborIndices;
import com.opengamma.strata.product.fra.Fra;
import com.opengamma.strata.product.fra.FraTrade;
import com.opengamma.strata.product.TradeInfoBuilder;
import com.opengamma.strata.product.AttributeType;
class Main {
public native FraTrade foo(Fra.Builder builder);
static {
System.loadLibrary("dubtest");
}
public TradeInfoBuilder addDescription(TradeInfoBuilder builder, String val)
{
return builder.addAttribute(AttributeType.of("DESCRIPTION"),val);
}
public static void main(String[] args) {
System.out.println("hello from java");
Main h = new Main();
Fra.Builder fraBuilder = Fra.builder().index(IborIndex.of("GBP-LIBOR-6M"));
FraTrade fraTrade = h.foo(fraBuilder);
System.out.println(fraTrade.toString());
System.out.println("done from Java");
}
}
//module io.kaleidic.dmain;
import arsd.jni;
import translated.java.time.LocalDate;
import translated.java.time.LocalDate_d_interface;
import translated.com.opengamma.strata.collect.io.IniFile;
import translated.com.opengamma.strata.collect.io.IniFile_d_interface;
import translated.com.opengamma.strata.collect.io.ResourceLocator;
import translated.com.opengamma.strata.collect.io.ResourceLocator_d_interface;
import translated.com.opengamma.strata.report.trade.TradeReportTemplate_d_interface;
//import org.joda.convert
import translated.com.opengamma.strata.basics.StandardId;
import translated.com.opengamma.strata.basics.StandardId_d_interface;
import translated.com.opengamma.strata.basics.index.IborIndices;
import translated.com.opengamma.strata.basics.index.IborIndices_d_interface;
//import translated.com.opengamma.strata.basics.index.Index;
//import translated.com.opengamma.strata.basics.index.Index_d_interface;
import translated.com.opengamma.strata.basics.index.IborIndex;
import translated.com.opengamma.strata.basics.index.IborIndex_d_interface;
import translated.com.opengamma.strata.product.AttributeType_d_interface;
import translated.com.opengamma.strata.product.common.BuySell;
import translated.com.opengamma.strata.product.common.BuySell_d_interface;
import translated.com.opengamma.strata.product.TradeInfo;
import translated.com.opengamma.strata.product.TradeInfo_d_interface;
import translated.com.opengamma.strata.product.TradeInfoBuilder;
import translated.com.opengamma.strata.product.TradeInfoBuilder_d_interface;
import translated.com.opengamma.strata.product.fra.Fra;
import translated.com.opengamma.strata.product.fra.Fra_d_interface;
import translated.com.opengamma.strata.product.fra.FraDiscountingMethod;
import translated.com.opengamma.strata.product.fra.FraDiscountingMethod_d_interface;
import translated.com.opengamma.strata.product.fra.FraTrade;
import translated.com.opengamma.strata.product.fra.FraTrade_d_interface;
import translated.com.opengamma.strata.product.fra.Fra_Builder;
import translated.com.opengamma.strata.product.fra.Fra_Builder_d_interface;
import translated.com.opengamma.strata.product.fra.FraTrade_Builder;
import translated.com.opengamma.strata.product.fra.FraTrade_Builder_d_interface;
final class Main: JavaClass!("",Main) {
@Export FraTrade foo(Fra_Builder builder) {
import std.stdio;
import std.conv : to;
writefln("hihihifoo");
//auto index = Main.of("GBP-LIBOR-3M");
//writeln(index);
//writeln(index.getCurrency());
//writeln(index.getTenor());
//writeln(index.getFixingCalendar());
//auto fra = Fra.builder()
auto fra = builder
.buySell(BuySell.of("SELL"))
//.index(index) // Main.of("USD-LIBOR-3M"))
.startDate(LocalDate.of(2014,9,12))
.endDate(LocalDate.of(2014,12,12))
.fixedRate(0.0125)
.notional(10_000_000)
.build();
auto fraTrade = FraTrade.builder()
.product(fra)
.info(addDescription(
TradeInfo.builder()
.id(StandardId.of("example","1"))
.counterparty(StandardId.of("example","A"))
.tradeDate(LocalDate.of(2014,9,12))
.settlementDate(LocalDate.of(2014,9,14)),"0x3 FRA")
.build())
.build();
//.addAttribute(AttributeType.of("DESCRIPTION"),"0x3 FRA"w)
return fraTrade;
}
@Import TradeInfoBuilder addDescription(TradeInfoBuilder builder, string s);
}
void main() {}
extern(C) void atexit() {}
extern(C) __gshared string[] rt_options=["oncycle=ignore"];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment