커뮤니티
문의
2009-05-23 10:09:03
750
글번호 22387
아래의 각 기간을 식으로 표시하려면 어떻게 해야 하나요..?
///// 특정일자 표시 및 특정 기간 표시..
매월 1일
매월 둘째 금요일
매월 25일
매월 마지막주 월요일
선물 만기일 다음날부터 2주후 목요일까지..
옵션만기일 2주전부터 옵션 만기일까지..
5주짜리 월물인 경우 매월 옵션 만기일 다음날부터 3주후 금요일까지..
4주짜리 월물인 경우 매월 옵션 만기일 다음날부터 2주후 금요일까지..
/// 수고하세요..
답변 1
예스스탁 예스스탁 답변
2009-05-25 10:32:02
안녕하세요
예스스탁입니다.
공휴일 정보가 없어 해당내요은 추정으로 작성된 내용이므로
실제와 다를 수 있습니다.
1. 매월 1일
var1 = FracPortion(sdate/10)*10; # day
if var1 == 1 Then
Condition1 = true;
Else
Condition1 = false;
2.
var : Week(0),DD(0),VV(0),MM(0);
Week = DayOfWeek(sdate); ## 요일계산
MM = int(FracPortion(sdate/10000)*100);
DD = date - int(date/100)*100;
# 월이 변경
if (DD < DD[1] and Week > Week[1]) or
(DD < DD[1] and Week < Week[1]) Then{
if week == 5 and DD == 1 Then
var1 = 0;
Else
var1 = 1;
}
if (Week < Week[1] and DD >= DD[1]+3) Then{
var1 = var1+1;
}
if var1 == 2 and week == 5 Then
Condition1 = True;
Else
Condition1 = False;
3. 매월 25일
var1 = FracPortion(sdate/10)*10; # day
if var1 == 25 Then
Condition1 = true;
Else
Condition1 = false;
4. 매월 마지막주 월요일
input : MoneySize(10000000);
var : Week(0),DD(0),PreExdate(0),VV(0),MM(0);
Week = DayOfWeek(sdate); ## 요일계산
MM = int(FracPortion(sdate/10000)*100);
DD = date - int(date/100)*100;
# 월이 변경
if (DD < DD[1] and Week > Week[1]) or
(DD < DD[1] and Week < Week[1]) Then{
if week == 5 and DD == 1 Then
var1 = 0;
Else
var1 = 1;
}
if (Week < Week[1] and DD >= DD[1]+3) Then{
var1 = var1+1;
}
if var1 == 2 and week == 4 Then{
var2 = 1;
var3 = 0;
PreExdate = DD;
}
Else
var2 = 0;
if (Week < Week[1] and DD >= DD[1]+3) or (Week < Week[1] and DD < DD[1]) Then{
var3 = var3+1;
}
if PreExdate < 14 and var3 == 3 and week == 1 Then
Condition1 = true;
Else if PreExdate == 14 and var3 == 2 and week == 1 Then
Condition1 = true;
Else
Condition1 = False;
4. 선물 만기일 다음날부터 2주후 목요일까지..
input : MoneySize(10000000);
var : Week(0),DD(0),PreExdate(0),VV(0),MM(0);
Week = DayOfWeek(sdate); ## 요일계산
MM = int(FracPortion(sdate/10000)*100);
DD = date - int(date/100)*100;
# 월이 변경
if (DD < DD[1] and Week > Week[1]) or
(DD < DD[1] and Week < Week[1]) Then{
if week == 5 and DD == 1 Then
var1 = 0;
Else
var1 = 1;
}
if (Week < Week[1] and DD >= DD[1]+3) Then{
var1 = var1+1;
}
if (MM == 3 or MM == 6 or MM == 9 or MM == 12) and var1 == 2 and week == 4 Then{
var2 = 1;
var3 = 0;
Condition1 = True;
}
Else
var2 = 0;
if (Week < Week[1] and DD >= DD[1]+3) or (Week < Week[1] and DD < DD[1]) Then{
var3 = var3+1;
}
if var3 == 2 and week >= 5 Then
Condition1 = False;
5. 옵션만기일 2주전부터 옵션 만기일까지..
var : Week(0),DD(0),PreExdate(0),MM(0);
Week = DayOfWeek(sdate); ## 요일계산
MM = int(FracPortion(sdate/10000)*100);
DD = date - int(date/100)*100;
if (DD < DD[1] and Week > Week[1]) or
(DD < DD[1] and Week < Week[1]) Then{
if week == 5 and DD == 1 Then
var1 = 0;
Else
var1 = 1;
}
if (Week < Week[1] and DD >= DD[1]+3) Then{
var1 = var1+1;
}
if var1 == 2 and week == 4 Then{
var2 = 1;
var3 = 0;
PreExdate = DD;
}
Else
var2 = 0;
if (Week < Week[1] and DD >= DD[1]+3) or (Week < Week[1] and DD < DD[1]) Then{
var3 = var3+1;
}
if PreExdate < 10 then{
if var3 >= 3 Then
Condition1 = True;
Else
Condition1 = False;
}
if PreExdate > 10 then{
if var3 >= 2 Then
Condition1 = True;
Else
Condition1 = False;
}
if PreExdate == 10 then{
if MM == 1 or MM == 3 or MM == 5 or MM == 7 or MM == 8 or MM == 10 or MM == 12 Then{
if var3 >= 3 Then
Condition1 = True;
Else
Condition1 = False;
}
if MM == 2 or MM == 4 or MM == 6 or MM == 9 or MM == 11 Then{
if var3 >= 2 Then
Condition1 = True;
Else
Condition1 = False;
}
}
6. 5주짜리 월물인 경우 매월 옵션 만기일 다음날부터 3주후 금요일까지..
7. 4주짜리 월물인 경우 매월 옵션 만기일 다음날부터 2주후 금요일까지..
var : Week(0),DD(0),PreExdate(0),MM(0);
Week = DayOfWeek(sdate); ## 요일계산
MM = int(FracPortion(sdate/10000)*100);
DD = date - int(date/100)*100;
if (DD < DD[1] and Week > Week[1]) or
(DD < DD[1] and Week < Week[1]) Then{
if week == 5 and DD == 1 Then
var1 = 0;
Else
var1 = 1;
}
if (Week < Week[1] and DD >= DD[1]+3) Then{
var1 = var1+1;
}
if var1 == 2 and week == 4 Then{
var2 = 1;
var3 = 0;
PreExdate = DD;
}
Else
var2 = 0;
if (Week < Week[1] and DD >= DD[1]+3) or (Week < Week[1] and DD < DD[1]) Then{
var3 = var3+1;
}
if PreExdate < 10 then{
if var3 <= 3 Then
Condition1 = True;
Else
Condition1 = False;
}
if PreExdate > 10 then{
if var3 <= 2 Then
Condition1 = True;
Else
Condition1 = False;
}
if PreExdate == 10 then{
if MM == 1 or MM == 3 or MM == 5 or MM == 7 or MM == 8 or MM == 10 or MM == 12 Then{
if var3 <= 3 Then
Condition1 = True;
Else
Condition1 = False;
}
if MM == 2 or MM == 4 or MM == 6 or MM == 9 or MM == 11 Then{
if var3 <= 2 Then
Condition1 = True;
Else
Condition1 = False;
}
}
즐거운 하루되세요
> 오이도인 님이 쓴 글입니다.
> 제목 : 문의
> 아래의 각 기간을 식으로 표시하려면 어떻게 해야 하나요..?
///// 특정일자 표시 및 특정 기간 표시..
매월 1일
매월 둘째 금요일
매월 25일
매월 마지막주 월요일
선물 만기일 다음날부터 2주후 목요일까지..
옵션만기일 2주전부터 옵션 만기일까지..
5주짜리 월물인 경우 매월 옵션 만기일 다음날부터 3주후 금요일까지..
4주짜리 월물인 경우 매월 옵션 만기일 다음날부터 2주후 금요일까지..
/// 수고하세요..
다음글
이전글