|
|
改了一下,这次运算应该没啥问题了2 c& }! F0 [4 m2 c8 G/ D4 |
A6 j& U: M L) {3 ?, K2 j1 d
, ]5 O8 o2 b! x. L0 Ucapture program drop hello( ~7 H! f# E( a% e
1 q" C2 P0 K$ J7 X% l
program hello: K& L3 H# v) @7 }* r4 w
Q& L# F: `/ n+ `7 F
quietly {
7 M" v" u' Z. f# J
M' K! J3 J5 a% V& N* Kclear
1 A) g) ?4 b: J& ?( r- u) n# B4 P8 O- y' L! C8 s
cd e:\finance\stock\20110101\source
E% B1 L" F- s) ]# R7 g
' }- A; f; s9 X7 P7 qinsheet using `1'.txt4 k' l) D4 f7 P0 p* p5 H
" y' k( [ O6 ?- e
keep if v5>0) B$ n4 |2 M8 {+ ~9 H* U$ c
5 }# s- E- n+ I d$ S( |/ |4 s gen vt=_n
M0 H u A4 L' U# x
: s/ |* \) \/ d) i0 F tsset vt: }8 M% ?- X: L# A4 z3 m
( f F8 f7 r, k1 l8 I* S
gen zf=D1.v5
0 P' P$ Y* C2 D; `1 _- G* |" Y# N" L2 V7 _: ]+ O, w
gsort -v1
8 {' _' o' C! L* w# m
( p/ q* o4 [4 p$ _& R9 | gen avol=v7/v5; A, N( |" E! q3 Y) w) o. j2 @
, y( ~6 F! G# ?: T* x* \
keep if avol>0# T1 R& z6 z+ t' E
) ]; `+ v) p4 [- w8 f6 U drop vt
/ A4 Y0 J9 F9 q7 ]! _" X ' X2 g8 l- a" X
gen vt=_n7 X. Z A- u$ q2 M4 b
3 H: O/ T2 v" ]8 z tsset vt
1 q+ J- c* c6 y3 y/ c! s7 e% S % Q' w3 D+ W7 o. A
sum v5 [aw =avol]( [: _+ G1 n5 v- I
$ G' u+ I0 L9 I: b( f9 j& i
gen amean=r(mean) in 1
, ?/ u8 b9 w* D% C5 ^
# D7 ~1 g" |; O( L * 总加权平均值 amean0 p! |; a( x" s' @. z, N8 e
1 [" @0 c% ` k. m( O/ ^
- t" ?6 Q- `5 l* g* T+ ~5 t* m keep in 1/240
3 b0 b1 a* Z* ]8 i6 G* S8 w) t5 l9 T5 V
sum v5 [aw =avol]
! N! }' N) g) Y6 [+ b, f
. M+ r" |- \- K4 R gen mean240=r(mean) in 1
- n$ `' ~2 Z: G- p 8 h7 y' S& q S/ C
*240加权平均值 mean240
9 }4 f4 c3 f0 I% [' s
# I) @, o* p/ w7 l @& l. R set obs 500 1 J5 {0 h0 ?6 e7 u6 e& R/ w9 W0 o9 U
2 ^( Q# g+ y7 [* J
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph, c; D4 [& e' O- ?- j( B
E+ d. u% M% o7 N) O *240 kdensity(dx240 dy240)# R4 h# p6 ^8 u( l/ C2 u( B
6 ~, \0 q, a" s" f& c2 }9 ?# G
sum dy240
- ^ o- K5 Q7 E& {
. t- Q0 [2 v" x$ V# }+ X! r% _ gen yxis=r(max) in 1( [# q3 F) e9 ~& t, I' f
n5 W/ F7 ? y# [1 n @
gen yxis2=yxis/2
- a2 k# m* K% i) K P9 {2 ^4 `$ o+ k
*yxis" U; E9 o. ~6 x/ C9 f9 R u& A- r
& U3 l+ f! P$ P* D+ ?4 W gen dy240max=r(max)
: t3 d* s( U% N+ x2 a ; `; f* }& V4 m/ y' Q
gen dy240minp=r(min)
1 g7 O- N4 p# M3 @" F5 b5 |
4 X/ G' ?, W2 {# ~& F4 p gen vtt=_n. K* U( ]. V0 i* B
6 B) x7 d2 D( R) @" D3 r
tsset vtt
9 ^& W( ^6 j8 Y* V% w) r; J9 q8 ]5 ]0 R5 H6 h3 l
gen ddy240=D1.dy240/D1.dx240
# y, F; ^' W0 t* s# q 5 G8 h* ]# r- Y& D
sum ddy240
# @8 X7 l7 }1 V! @- c* S) }0 k
`$ P1 H3 F& ?. Z' W7 F. v# z/ [ gen ddy240max=r(max)
1 E& ~+ B+ s/ N8 h4 _ $ n+ N9 y' _! y: o. T" O; N) r
gen ddy240min=r(min)
, r1 J X6 u7 E+ K6 [3 j; f3 F7 E $ S4 i$ }1 d; o1 u0 e. b
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)6 J$ q2 |: s- q! i2 V
4 p9 B) R# n; j$ b7 m1 R5 l, P+ C
sum ddy240g8 C7 \! M% T6 m2 _
' W; M; Y1 d5 e" C4 }, y4 W gen yxis3=r(min) in 13 Z, q& d# @. D2 n6 l8 G& G
2 D. x& [' r# g1 ^+ A$ } gen yxis4=0 in 1
: k: i3 T! g6 n/ Q ; E+ F: o' Z) M8 s& j. g8 d
*ddy240g 3 @/ |! h; {9 E" ]
8 B* |" s3 A" @/ P4 M: Z4 C) J
5 J' o+ A' }; s/ E preserve
! R/ h7 u# F4 w! Q9 W4 ?! T
8 o' J" ~6 A3 J- w' x8 S; n" v' U sum v5 [aw =avol]
8 O ?( p) \7 s- b; @ ) \. Q S" z! {7 {
keep if dx240<r(mean)
; }+ D$ w5 w/ @$ a# v4 p
2 t) A) S- B9 |8 m sum ddy2402 G! Q$ J% P: b: M7 H
( M/ E3 A; \; q* T2 o7 I/ o7 x
if r(min)<0 {: b3 y' G5 D( l4 P
+ H N* Y. w1 Y8 u6 c. g keep if ddy240<=0& q% i9 F! v6 L/ W, |- T' M7 q) L
6 f# ^6 d- G# L" P' k# r1 f count
! d$ M9 G$ {" b1 H7 g
" Q1 f0 A* B2 p2 ?9 S if r(N)>2 {9 S- D4 p% j7 Y8 g; @
1 I# c) O4 c/ s. F5 b7 t3 S
pkexamine dx240 dy240
1 R i* I' {0 t" m- q7 `. l& u
. l$ W) V0 D! Q: U2 v local tempminp=r(tomc) [$ W0 G& ^/ H% H u( `9 g
restore * m; {6 ~0 v# [; m
}
) N* _1 x4 m% O & |0 S* ^9 y8 M, _/ W
else {
4 |$ f( J2 L2 M, v& R5 e- F
8 q! v; z" p) Q di "cannot find minp"
/ a) Q* ?( j; T! o) z : n/ u" v5 X: T. S4 V* s
restore
! D* R# ]* C N0 G' | V' y. R% z! G sum dx240
O4 c, X/ h. p& H: K% D# I' F local tempminp=r(mean)
$ D/ r! r! C0 p! T% U5 V 2 E+ c3 F) o' _2 f! A+ {$ b6 _" h
}- x& H4 V1 h/ r C% {0 o! L; C
}
* k3 [ B1 v6 M: E& f2 H4 l else {. i. L- h& y2 r% K/ k. r
2 F+ I' D+ L2 ]- Y2 l9 K4 o3 J
keep if ddy240<=r(min)+ U, B; B3 b7 I _' V U5 R
: o% x2 s* ?6 G/ V7 B, p5 h
sum dx240
( e: P! O M/ K% n8 C0 q) { . K3 |) G% R7 W% }9 K
local tempminp=r(min)
! x& A& Z# @2 X R' T restore
- ?% L* `4 N7 J! j; [ }( l7 B% N+ p h% ]: J( }% U
( O- f' W! H! ~1 f) F& N; B) b$ z6 i2 U5 F
2 c- c$ m. o3 X6 m8 q7 L gen minp=`tempminp' in 1; _" p& m6 G8 f0 o2 K/ _
*240 minp* A! S! r- `% m. c! ^
8 x5 s. P3 D1 A( K. I+ K$ q) V! E0 E# [8 M0 C3 {
, t' b# s: `2 Q9 s6 `) j) l; {
preserve % J$ K, n/ }7 P* Z1 \
; v. q3 i3 C" k sum v5 [aw =avol]
+ f9 D7 V) \8 R9 R( h( W 3 c4 I3 F, W/ Z- y4 Q& P- F) O0 c
keep if dx240>r(mean)8 [: B0 F* h' m! S: R, k. e
" S. A* U, p, ~: Q5 K; P! O sum ddy240/ B0 @5 X2 {" V" b
# U; Q$ Z% x* ^- n; p( T N
if r(max)>0 {
# {5 R* H1 B/ l- ^( f1 t5 C 1 E7 b3 W5 a) f. a; n: u1 `6 Z
keep if ddy240>=0
9 W0 R2 k/ m* p9 A/ h
2 _+ o% h1 G* g+ d count2 l/ ^, K3 m9 Z0 Y3 M# w
. N; d- G9 A8 A s& s' h5 `1 v( f if r(N)>2 {
+ q6 r+ D; d T; q/ h: E. Q1 x
6 @% Y% S0 s1 r! S& _ pkexamine dx240 dy2402 L' A0 q3 K4 }- a, Y% O6 {# M8 b
6 G9 ?/ m' B- i1 H9 u3 C8 D local tempmaxp=r(tomc)
; j8 f, C l1 h' y# R& A8 ] restore # S* E4 z5 k/ }3 u% _! I
}
* y- q8 s& f: s* n" {. a
7 @, x1 `$ r" ?4 i j: q! N
. C" n9 T+ G1 f# H7 u4 O8 c else {
; p9 G2 I1 ]! Q6 U1 r restore
; k5 |3 V. H* m# k" E di "cannot find maxp"' p8 D( r! ~6 w* A" e T# B1 c
/ x/ {: M. j6 W' @4 K
: U" C/ O5 h/ O sum dx2405 I& B- t4 d1 Q3 c' v/ b
local tempmaxp=r(mean)
; y7 m) l; e; y0 B2 [3 Y, } ( S7 [' a3 ?% J! r
} o; C4 W; ]* F t
) ~2 k& z" M8 d* d) I/ E/ x2 [3 b }/ x( f6 O- \# b& `/ I
- z( }: K1 ? ^5 K
else {
1 |, b d7 E; x' i
1 ~+ E% U% m# n7 j! \9 H keep if ddy240>=r(max)3 c# F; ]8 l( I+ {7 X. g: y
9 {; O# }5 \7 i( }! _
sum dx240& \" T! b+ T4 X9 r2 q
h% i0 @2 C+ J6 v' z4 s
local tempmaxp=r(max)
% d1 l7 g( e1 k2 V restore
! V9 |# m s5 q1 q) W; M }
, _4 f" g0 m3 J! S/ `, a6 d" A, T4 D$ K
+ G' x9 C8 k+ J4 r3 u, A( M7 H4 X
W" _$ d% I/ [# R8 K |
) v7 |0 M0 [5 U gen maxp=`tempmaxp' in 1
4 `) }- K& i1 \/ \
& ^. Z" ] S# ?2 u *240maxp# F* G( B( y- x ^
# ^2 x/ i- M. i$ N
1 |- B' Q5 |% _& y% }0 q9 j/ g8 ~
*-------------ddy240pminp左侧高峰值-----" r$ u2 G& c1 t3 @) i) U7 [
& a4 N; C. N$ ?3 o& n) h+ w5 z9 | preserve 4 p; w* F' f6 g' [7 a9 M
! Y' D3 L$ ]0 L/ K6 z' ?
keep if dx240<`tempminp'
$ a4 p$ K$ K' O' Q 6 g$ {+ b% J% S& H8 x$ M
keep if ddy240>0
0 x# E! o" `6 H/ r
' Q1 w# h/ u0 ]- D4 f3 ^ count8 c$ A1 T) ~+ }! U: Q* u5 q9 Z" y4 i
* o5 }$ A4 k' {; t' f if r(N)>2 {
! Z8 _1 _( p5 T8 I& q1 ?; L ! I y) ]1 l5 C% ^
pkexamine dx240 ddy2407 @; e& @# w) @+ g7 l) h
0 O% n, @- @# ?# y2 N8 A local tempminphddy240=r(tomc)
' A/ H/ j' _$ J; [& {9 g restore
) D3 e3 b2 r2 \; t8 j* S+ C }4 E+ K3 [3 k: d: w! I& G
4 c- w* p6 V- @6 x9 b, Q4 j% X else {
A* q& s! o# u+ r H4 C4 _1 d* I* V restore Y1 [5 Q% X* E6 i9 i* L p9 o
di "cannot find pminphddy240"5 w( }3 u0 N }
2 ]7 T& Y2 u$ h" ~5 M/ u4 E
! W, M7 |. ]) }$ Z sum dx240
7 @- p+ _: O" \; a# ]5 v% N local tempminphddy240=r(mean)
( ~# W+ p( U$ W5 w
9 t( \1 `' r6 N* B2 w+ j; h 2 V1 B, \4 g% n+ k
}. l$ ~: g& X3 @
) A% i, E& i# a 1 i$ [+ [1 n* X$ o: H9 g) o
3 v3 i+ ?4 B' T( P0 S
5 \1 ^, g' i3 ~. q3 E 4 P a6 v- [. }" O/ `) d% [& E; Q
|. W2 j$ R; D! I& V/ V gen pminphddy240=`tempminphddy240' in 1
4 e1 R; L& O* H5 t' P7 X " W' H/ K" |- r5 K2 ~8 u+ [
; D4 ^+ T3 g( k* t0 H9 W3 y *-------------ddy240pminp右侧低峰值 -----------------6 L2 q/ h$ B- m- O9 E$ g2 G
preserve
& k, |6 j+ r7 ~
9 ~! m- v: ^" W" [* V2 S keep if dx240>`tempminp'
) `" M3 t1 @. |7 b0 D6 ]
% ~& Y4 B d' u keep if dx240<`tempmaxp'
7 t3 B, {! s6 M5 J3 j/ c
* Y4 n) w( H( F keep if ddy240<0
" G* L+ c1 j' J. E3 e; M2 C# ] / a7 J2 {+ l2 f5 h7 P6 ?6 H
gen temddy240=-ddy2401 m" x/ x/ b. M, S- E% o. x& Q7 |" n
) `: H& A% _- N! C
count
; d( a, l( d4 v8 u
- W/ x8 z! z# `2 }- f4 z if r(N)>2 {
) h! W ?' k- i$ R7 u2 s0 t4 _
2 J- A) v) J. f n2 s# u pkexamine dx240 temddy2405 l4 T, v( E2 y7 ~
/ i$ ?9 c: T& f5 U; ]# ` local tempminplddy240=r(tomc)& v& N5 Y8 l6 v( p& @7 [
restore4 h7 N; D1 ?" m1 N
}
+ X6 ^" K/ C" i! l: N / B4 r: K) U1 I* g a% }* w4 p$ j
else {6 r. E0 c* Y( p! z
% z7 q+ X0 U! k0 ^- g* z
di "cannot find pminplddy240"
/ b* x h6 R7 r$ a- b1 j restore
. L+ R0 T2 \! n 0 V1 b/ T& l( K' X
sum dx240# Z; J5 q( H$ R9 B% v' h
local tempminplddy240=r(mean)
6 ~8 J3 n) M: U# r g/ g. I
% }" Y5 E( e9 z 8 I' _' m- o. I
}
i0 b- g" E8 U9 ~
1 k; U$ E. @5 Y& V4 Z$ j' U
' ~' l2 w6 b4 I5 P' S
1 u* X9 y7 B4 X3 W0 E5 d
- ?; d3 G& b3 R+ a" {
0 {, S7 k* t, @8 x8 a gen pminplddy240=`tempminplddy240' in 12 P4 ^" l' J/ z. N; t: I |3 X
; a2 F3 l h+ y" A8 O& L8 T$ {
*-------------ddy240pmaxp左侧高峰值 -------------------
1 {/ z3 u: g" [3 U- ^1 C9 k
' S6 g$ D! ]7 O$ t+ ^5 B preserve ' A* V: l7 I1 a& S0 N- b* E" b
: f, U: B) m; Z3 k
keep if dx240>`tempminp'
- I" a! T+ B1 R6 b; `1 F, ]' i# K % a/ ]. ^+ Q2 Z- U, V8 E7 O
keep if dx240<`tempmaxp'" p( V @1 J) g) a
+ x- s6 N- K ~% L* D
keep if ddy240>0- a# G6 j8 w3 A2 D# j% U @
count% ]8 A; l3 N1 c" E7 e; ^5 _% V2 \
( ?! R0 A! |+ F" a U
if r(N)>2 {) r1 P ^2 o( _1 o+ {% Q: m! x
* }# G3 p7 _9 W# o+ J. K. S pkexamine dx240 ddy240/ g; S) V( j% u9 o) r Y* r# @3 y
" }% R; t, q& ?0 k! ^1 B6 S local tempmaxphddy240=r(tomc) $ Q, X; d, Z& W: } {% _
& a0 r7 J% w" H* G' _ restore# J& p- p0 D7 _) d
}% p" F4 w% m9 X" \
) ]& \/ {) d7 p2 I, |. M$ |
else {
- u4 I9 |3 `% t+ n0 y 9 u4 \& e" @1 k
di "cannot find pmaxphddy240"
1 u. [5 ?7 N9 S6 P c4 d6 L! K restore
|: m' q, T4 G h ) ^$ p8 O& N3 v; j
sum dx240
. |$ Q K# i1 n& N9 u local tempmaxphddy240=r(mean)
" n9 W; A- J2 g& f q& G3 R; j- N ( F- }6 {! c5 P5 e& r) \; T9 }. y+ m
9 i( q2 w, l3 B) B, X }
( _2 l7 L T& W ! ^% D; a6 X! G& c* ~1 V$ k
5 o) U7 T# ~6 d2 `
/ ~* Q$ N$ H% B, |0 ?' i1 S5 H& N( V- }
" J v W4 |$ u
0 N* ]3 X* j# p6 B% R8 ~8 }
- L" U }8 O. t( R1 m& C( C
gen pmaxphddy240=`tempmaxphddy240' in 1
# \% z/ b$ z# O M8 N% n/ Z7 ? " {, H9 ^4 G( |- y$ s, A7 y/ v
4 t4 b* ~$ o$ A5 g, `1 w4 T *-------------ddy240pmaxp右侧低峰值 -------------------
% p" u* h' {$ s+ L& O: W' d , m' ^1 ?1 x. N, z6 l
preserve
h& t1 j6 c2 \2 X5 p7 T
& b! a2 L" ?- t keep if dx240>`tempmaxp'; ^* e. B7 \1 P2 [- |; J
# U0 A2 f4 m! [
gen temddy240=-ddy240 v8 x4 `( M/ f# y5 G5 a
/ Z: D3 _. U/ [# o3 z: E$ d keep if temddy240>0. V' c+ K5 P+ C1 m( }9 ]
& z u% `/ b- o7 w, A# I) h
count* t% ?- w2 m4 w$ I
5 F; \* h/ Y7 R0 T if r(N)>2 {. d" q+ G6 r. p: ~1 K8 k
. y" R# o6 d" o; z3 O5 i- T
pkexamine dx240 temddy2403 E3 z* H3 D, H5 e/ N* k/ s
- p8 b; C3 a! I* U! g3 b# A- C
local tempmaxplddy240=r(tomc)
: C* P" ?: ]( e2 F4 ~! [2 M restore4 T* k$ i* f2 i& T. J8 O5 t+ q
}
4 k4 M$ B1 m5 z/ N3 V
' [. z6 o2 n" A; W* q' k else {9 `8 u* X- B2 r! T4 |0 Y
restore% E- e, [' ~# _9 Q9 G: Y
di "cannot find pmaxlhddy240"
! N; a5 L- \# O3 K6 P
. D0 I* ~9 b) d. M2 P
% L% c) }( ^$ M; {% v: f sum dx240
3 Y7 P/ x# d! [# S# C {0 { local tempmaxplddy240=r(mean) in 1
" a. j4 M0 J/ g! M9 y/ X/ ] 6 E1 y4 H3 u2 q& F6 m
; `5 C' V6 N/ o
}0 R1 v1 ~/ q: U; u
9 b+ `: I5 C' V, f
# A/ W2 C0 Y# o8 t- \! }# `
$ z/ m+ s% }2 G
1 K4 A; x3 H1 z O5 T
7 [5 b5 v: C+ ?: H" a% k
# b1 p4 G7 N" ?( u$ Z% f gen pmaxplddy240=`tempmaxphddy240' in 1& p, L6 S& W/ ]- e3 B; |
0 \8 D" I. R# o" E; }+ V( H- L *-------------------------------------
( v4 A) N; R8 r; y5 | G5 S4 R% z/ W i# o+ N5 C5 f% N4 `
gen price5d=v5 in 1/20. V7 k( d R; O1 v
3 C/ l' G) {( C1 }9 H gen price5yy=_n in 1/20: o1 \9 O4 u4 n' ~, b& N0 c
9 L1 T$ p6 d0 u gen price5y=price5yy*(dy240max-dy240min)/202 J& ^+ s$ E' B8 J+ c) T/ k- v- A
! O/ C9 l" U* p *price5y &price5d# v( N5 w B0 B) Q$ t" i3 h
, G' Y+ T# Q5 n( H w5 A
gen priceny=price5y in 1
K1 M# z. y( R8 C, v
4 {1 t. R' v! {. N" |" \1 y% R gen pricen=v5 in 12 ^4 y/ A1 X) M9 B1 T `; q
9 t! ]0 o" ^% u
8 I6 n/ M8 @5 p% G+ j9 u/ p *priceny &pricen* |5 Z; w! U1 C0 H- `
. c; M9 |3 a3 G3 K' o8 Z$ @ ' J# m- B1 }% r
*-------------------------graph------------------9 y* t& C; B$ A A
( h# W8 L3 t, K3 {: w tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)
U! a) ]; {1 D; C& o1 F
# s2 l+ J1 x4 h; }/ P* ---------可选项目----------------------1 z& K3 X" ?; a0 W* N
3 y1 h& h" ^3 R3 X0 i9 o! ?$ F$ \
}
J! t/ n3 ~& zend' K3 v3 V1 I5 \1 X
|
|